字节跳动 暑期实习 算法工程师 20220320场笔试

# 四道编程题 每题25分 共100分
1. 模糊回文字符串,小写大写算一种字符,其他符号都算‘*’,如果经过有限次移动可以变成回文字符串,返回True, 否则返回False.
我就按题目意思写的呀,只通过了80%,不知道为什么。
2. M天徒步,每天消耗一份食物,然后N天有食物补给,但每天的价格不一样,求能不被饿死的条件下的最小花费。
应该就是个动态规划,没时间了,哭唧唧。 0%
3. 分土地,某星球共M个人,N对师徒关系,师徒关系可能出现循环,比如A是B的师父,B是C的师父,C是A的师父等。师父关系之间天然形成部落(比如刚刚的ABC就是一个部落,也有可能不循环,也是一个部落),然后根据部落人头数分579万平方公里的土地。降序输出每个部落的土地数。
就是按题目意思写的,测试用例通过,但只通过了10%,不知道为什么。
4. 给定的字符串只有字母,后面的行依次输入两个数字 是 字符串的开始和结尾的索引,然后这俩之间的字符串大小写翻转,输出最终的字符串。
暴力法,超时,过50%。

是不是笔试凉定了?在线等,挺急的。
#字节跳动笔试##字节跳动##笔试题目#
全部评论
第二题贪心,从起点开始找比上一次单价少的位置,算一次花费,更新最小单价,然后再继续找下一个最小花费,直到终点
3 回复 分享
发布于 2022-03-20 13:08
第一题直接输出true,过80%。第三题输出459(就是全部的),过10%。第四题暴力法50%。20分钟交卷走人
1 回复 分享
发布于 2022-03-20 12:46
第二题 m, n = map(int,input().split()) stations = [] prices = [] for _ in range(n):     s,p = map(int,input().split())     stations.append(s)     prices.append(p) mono_stack=[] ret=[-1]*n for i in range(n):     while mono_stack and prices[i] <= prices[mono_stack[-1]]:         ret[mono_stack.pop()] = i     mono_stack.append(i) i=0 ans = 0 amounts=[0]*n while ret[i]!=-1:     amounts[i] = stations[ret[i]]-stations[i]     ans += amounts[i]*prices[i]     i = ret[i] amounts[i] = m-stations[i] ans += amounts[i]*prices[i] print(ans)
1 回复 分享
发布于 2022-03-20 23:42
第四题暴力过50?
点赞 回复 分享
发布于 2022-03-20 12:34
第一题要考虑奇偶数吧,奇数个长度可以有字母或*单次出现;第三题并查集,第四题差分数组leetcode 航班预定那题
点赞 回复 分享
发布于 2022-03-20 12:36
说实话字节对算法要求挺高的,而且这次的题偏简单了,尤其还是面算法岗感觉是凉了。。。
点赞 回复 分享
发布于 2022-03-20 13:08
投的什么岗啊,我投的风控,分数跟你差不多😐
点赞 回复 分享
发布于 2022-03-20 13:32
我投字节算法工程师,第一题80%,第二题第三题全过,最后一题20%面试都没给…可能我投的部门hc没了或者字节要求太高了
点赞 回复 分享
发布于 2022-03-20 19:38
第三题我也是10% 想明白了 少考虑了情况 被题目的算例限制了思路
点赞 回复 分享
发布于 2022-03-21 08:58

相关推荐

鼗:四级有点难绷,感觉能拿国家励志奖学金,学习能力应该蛮强的,四级确实不重要,但是拿这个卡你可是很恶心啊
点赞 评论 收藏
分享
评论
3
20
分享
牛客网
牛客企业服务