3.20字节笔试

1.模糊字符串
题目中定义了一个模糊字符串的概念,模糊字符串:1.忽略字母大小写。2.所有的非字母都会变成*。如果一个字符串按照上述两种变换从左到右和从右到左一样就是模糊字符串。
aA(+zZ 经过变换为 aa**zz,此字符串为模糊字符串。
输入一个字符串,能否通过有限次移动使其成为模糊字符串?
返回true或者false
我的思路:
    1.当相同的大小写字母数量都为偶数时,直接返回true,不需要管非字母的数量举一个例子
        输入的字符串为 aAbB()+++ 经过转换,a:2,b:2,*:3,所以可以直接移动为这样 ab***ba,肯定能达到对称的效果
    2. 当有一个大小写字母数量为,分类讨论
        2.1 * 的个数为奇数,返回false
        2.2* 的个数为偶数,返回true
        举一个2.2的例子,当 a:1,b:2,*:2,可以把奇数的字母放在中间,移动完b*a*b,依然可以达到对称的效果
    3. 当奇数的大小写字母的数量 >= 2 直接返回false
2. 徒步旅行
 小明回去旅行M天,每天都要吃一个东西,中途零星会有补给站,每个补给站的物品价格不同,问这M天消费最小为多少
输入一个M达标旅行天数,输入一个N,接下来有N行,第一个数字代表在第几天有补给站,价格是多少,下面补给站的天数是严格递增的。在第零天肯定有补给站
5 4
0 2
1 3
2 1
3 2
输出为 7
在第0天买2件物品,在第二天买3件物品花费 7 元。
我的思路,始终记录一个补给站的最小价格,依次累加,按照上面这个例子,
最开始物品价格为 2,最小价格为2,sum + 2,目前sum=2
遍历第一天 由于这个补给站价格大于最小价格 依然 + 2,目前sum=4
遍历第二天 由于这个补给站价格小于最小价格,更新最小价格 min, min = 1,sum = 5
依次遍历,最终结果为7
3. 星球大战
题目他长了,直接简单说一下,其实就是求一个图中有几个连通分量,并根据每个分量人的个数,求每个连通分量的面积,总面积已知为576(具体有点忘了)
第一行输入 两个整数 n(总人数),m(接下来有m行,每行有两个整数,其实就是告诉边的信息)
8 6
1 2
2 3
3 4
5 6
6 7
7 8

输出有两行,第一行,有几个联通分量,第二行,每个连通分量的面积大小,按大到小输出。
这个例子中 1-2-3-4在一个连通分量中,5-6-7-8在一个连通分量中,所以连通分量有两个
并且每个连通分量人数一样,所以面积均为288
我的思路,直接把输入转换为一个二维矩阵,也就是图,从依次遍历图里面的节点,访问完的节点标价为true
4.
只过了50%,不写了
#字节跳动春招##笔试题目##字节跳动#
全部评论
第一次发帖子,大家支持一下
1 回复 分享
发布于 2022-03-20 15:01
第一和第二题我跟你思路一样 但是全都只有百分80
1 回复 分享
发布于 2022-03-20 16:31
第四题过50%大多都是在读取数据的时候就改变字符串大小写,我第一次调试也是,超时了。 然后改为读取数据的时候记录改变的区间,(从遍历区间改为记录两个端点)最后再遍历一边字符串改便大小写。
1 回复 分享
发布于 2022-03-20 16:47
up,up,up
点赞 回复 分享
发布于 2022-03-20 15:01

相关推荐

10-10 12:03
门头沟学院 Java
Yoshikitties:哎麻了,和你差不多,甚至第二题只有0.9
投递携程等公司10个岗位
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
12
15
分享
牛客网
牛客企业服务