美团笔试题解0819

后端开发,5题100%,欢迎讨论交流
T1 取模不多说
T2 乘号改加号,枚举即可
T3 01串子串权值之和。枚举左端点,然后动态规划:算出当前子串分别以0/1结尾的最小翻转次数,转移即可
T4 数组和重新分布。总和范围小于500,典型的回溯+动态规划,记录index和已分配和即可。Python(图4)这里会超时,吐槽一下,只给cpp(图5)的两倍时间太不公平了
T5 (图6)使众数最多的最少操作次数。首先分为两种情况(数组长设为n):
    1. 数组平均值为整数,那么必定可以操作为n个平均数(反证易得),操作次数就是所有数与平均值差的绝对值除以2
    2. 数组不能平均分配,那么必定可以操作为n-1个相同的数和一个不同的数。那么牺牲哪个数作为不同的数,能够使得操作最少呢?答案是偏离平均值最多的数,即最大值/最小值。剩下的数就让它们操作至它们的平均值(上/下取整,也可能是四舍五入,我这里来不及证明直接两个分别算了)。
全部评论
第二道我也是这么写的呀,怎么才50%嘞
3 回复 分享
发布于 2023-08-19 21:03 上海
lz第五题a了多少啊
1 回复 分享
发布于 2023-08-19 21:04 上海
如果n等于6给定数组是011556,只要操作一次就能变成111555就直接满足了啊,所以我想了半天😓
1 回复 分享
发布于 2023-08-19 21:09 湖北
第四题不用回溯吧,我java的,纯粹dp
1 回复 分享
发布于 2023-08-19 21:09 江苏
前四题倒是40分钟全A了,最后一题先暴力30%多,后三分63%,然后你这方法也试过(可能急了,对的还少些,估计哪儿写错了),不停调参还是63%,建议再参加第二次吗,感觉除了acm奖 其他都很拉胯
1 回复 分享
发布于 2023-08-19 21:24 湖北
t5按照题目描述可不止一个众数吧
点赞 回复 分享
发布于 2023-08-19 21:02 浙江
第5题,同样的思路,为啥只过了36.6啊
点赞 回复 分享
发布于 2023-08-19 21:02 未知
第四第五相同思路,但是java能过测试用例提交过不了
点赞 回复 分享
发布于 2023-08-19 21:03 湖北
T5差不多思路,我只过了20%
点赞 回复 分享
发布于 2023-08-19 21:05 四川
第五题按描述不是可以有多个众数吗?这样的话就你的第五题题解就有问题吧?可以出现2-2-5-5这样的数组不用改变也满足条件呀😂想破脑袋都没想到这个解法,还是题目描述就有问题?
点赞 回复 分享
发布于 2023-08-19 21:05 四川
为什么我第五题也是这么想的 然后嘎嘎0%
点赞 回复 分享
发布于 2023-08-19 21:05 陕西
吐了,python做的t4,dp只能53%,想了半天没想到怎么优化,没想到换c++就过了
点赞 回复 分享
发布于 2023-08-19 21:07 江苏
T5操作到剩下数平均值的±100只有63%,又是不知道哪写挂了
点赞 回复 分享
发布于 2023-08-19 21:09 北京
第五题 有问题 比如 1 2 3 4 5 6 不能变成4 4 4 4 4 1吧? 可以通过加1减1变吗 cpu烧了
点赞 回复 分享
发布于 2023-08-19 21:10 江苏
大佬打 acm 吧?
点赞 回复 分享
发布于 2023-08-19 21:11 北京
第一题为什么写m if x%m==0 else x%m 会只通过26.6呢
点赞 回复 分享
发布于 2023-08-19 21:34 广东
有大佬可以解答一下吗?按我的理解输出应该是三,但是用楼主这个输出0,难道是我题目理解不对吗
点赞 回复 分享
发布于 2023-08-19 21:44 湖北
佬,能帮忙看看为什么这么写测试用例过了,提交是0吗
点赞 回复 分享
发布于 2023-08-19 21:50 江苏
第二题C++改成unsigned long long才过86.67
点赞 回复 分享
发布于 2023-08-19 22:18 北京
佬好强啊,佬是怎么学算法的,是每天写几道力扣吗
点赞 回复 分享
发布于 2023-08-19 22:24 广东

相关推荐

小红书 后端选手 n*16*1.18+签字费期权
点赞 评论 收藏
分享
有工作后先养猫:太好了,是超时空战警,我们有救了😋
点赞 评论 收藏
分享
无敌虾孝子:喜欢爸爸还是喜欢妈妈
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
11-24 20:55
阿里国际 Java工程师 2.7k*16.0
程序员猪皮:没有超过3k的,不太好选。春招再看看
点赞 评论 收藏
分享
评论
30
119
分享
牛客网
牛客企业服务