2022百度测试开发岗暑期实习笔试

3.22
选择题30道,涵盖范围较广
编程题两道
1.第一道
完美串的定义如下:
在一个仅由小写英文字母组成的字符串中,如果其中每一个字母出现的次数都相同则称为完美串。
现在允许你对一个字符串进行若干次删除或者插入操作将其变成一个完美串。每增加一个字母或者删除一个字母都记为1次操作,例如对于字符串“abbccc”而言,可以通过增加一个“a”和删除一个“c”将其变成一个完美串,操作次数为2。不难看出,这也是将“abbccc”变成完美串所需的最少操作次数。
请编写一个程序计算最少需要进行多少次操作才能实现一个输入字符串到完美串的转变。单组输入。
输入一个长度为n的仅由小写英文字母组成的字符串,保证n为不同字符数的倍数。n<=10^6。
输出一个非负整数,表示将输入字符串变成一个完美串所需的最少操作次数。
思维题,调试好半天没弄出来,我想的是用平均数,但有些情况发现没考虑全,比如"abbbbcccc"最少步骤应该是删除a一步,按平均数得4步,所以还没想明白要怎么做,有思路的朋友请留言!
2.第二道
最大能量
一个英雄有重量属性值和能量属性值,相同物品最多同时拥有两个,每个英雄携带的重量有限,求在满足最大重量的同时最大能量为多少。
题目大概意思是这样,如有什么问题请纠正!

这两题都没写出来,希望有思路的朋友帮忙,谢谢!(python)

#暑期实习##笔试题目##百度#
全部评论
第一道题最后5分钟AC了😂,核心是平均字符出现次数,然后取每个字符出现次数减去平均次数绝对值,再累加为最终结果!第二道用回溯超时了,应该要用动态规划更好
1 回复 分享
发布于 2022-03-23 00:55
我机器学习的,编程题第二题和你一样(我们的第一题),就是二重背包问题,搜一下就知道啦。
点赞 回复 分享
发布于 2022-03-22 23:52

相关推荐

烤点老白薯:他第二句话的潜台词是想让你帮他点个瑞幸或者喜茶啥的
mt对你说过最有启发的一...
点赞 评论 收藏
分享
评论
点赞
10
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务