美团笔试题解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个相同的数和一个不同的数。那么牺牲哪个数作为不同的数,能够使得操作最少呢?答案是偏离平均值最多的数,即最大值/最小值。剩下的数就让它们操作至它们的平均值(上/下取整,也可能是四舍五入,我这里来不及证明直接两个分别算了)。
T1 取模不多说
T2 乘号改加号,枚举即可
T3 01串子串权值之和。枚举左端点,然后动态规划:算出当前子串分别以0/1结尾的最小翻转次数,转移即可
T4 数组和重新分布。总和范围小于500,典型的回溯+动态规划,记录index和已分配和即可。Python(图4)这里会超时,吐槽一下,只给cpp(图5)的两倍时间太不公平了
T5 (图6)使众数最多的最少操作次数。首先分为两种情况(数组长设为n):
1. 数组平均值为整数,那么必定可以操作为n个平均数(反证易得),操作次数就是所有数与平均值差的绝对值除以2
2. 数组不能平均分配,那么必定可以操作为n-1个相同的数和一个不同的数。那么牺牲哪个数作为不同的数,能够使得操作最少呢?答案是偏离平均值最多的数,即最大值/最小值。剩下的数就让它们操作至它们的平均值(上/下取整,也可能是四舍五入,我这里来不及证明直接两个分别算了)。
全部评论
第二道我也是这么写的呀,怎么才50%嘞
前四题倒是40分钟全A了,最后一题先暴力30%多,后三分63%,然后你这方法也试过(可能急了,对的还少些,估计哪儿写错了),不停调参还是63%,建议再参加第二次吗,感觉除了acm奖 其他都很拉胯
第四题不用回溯吧,我java的,纯粹dp
如果n等于6给定数组是011556,只要操作一次就能变成111555就直接满足了啊,所以我想了半天😓
lz第五题a了多少啊
同学,阿里控股集团JAVA开发岗投吗?我们和其他业务集团独立招聘,可以多次机会。需要的话,可以联系我。
楼主,第四题cpp解法中回溯的for循环上界为什么这样写,意义是什么,这一块有点不太理解,麻烦你了
又简洁又高效
太强了
能解释下第三题吗楼主
第四题dp[index][cur]的定义是啥
佬好强啊,佬是怎么学算法的,是每天写几道力扣吗
第二题C++改成unsigned long long才过86.67
佬,能帮忙看看为什么这么写测试用例过了,提交是0吗
有大佬可以解答一下吗?按我的理解输出应该是三,但是用楼主这个输出0,难道是我题目理解不对吗
第一题为什么写m if x%m==0 else x%m 会只通过26.6呢
大佬打 acm 吧?
第五题 有问题 比如 1 2 3 4 5 6 不能变成4 4 4 4 4 1吧? 可以通过加1减1变吗 cpu烧了
T5操作到剩下数平均值的±100只有63%,又是不知道哪写挂了
吐了,python做的t4,dp只能53%,想了半天没想到怎么优化,没想到换c++就过了
相关推荐
点赞 评论 收藏
分享
07-03 21:43
上饶师范学院 前端工程师 Hakasee:我的简历和你的基本一样,上周去了上海,boss投了三百家,
三家线下面试
第一家没有做题,全是八股和项目,因为第一次面试不怎么熟练,挂了
第二家,给你几个题目(①css垂直居中文字,字体每两秒闪烁一下以及点击弹窗,②给你一个链接,实现可视化地图,③然后是八股,图片性能优化,以及对图片app有什么想法),45分钟内做完,然后老板面试)
第三家特别偏僻,有点阴森,到了之后让了一个工位给我,有四个题目,①格式化时间 年月日当前时间星期几② 正则表达式提取新闻文字,③在文本域输入文字生成选择题以及选项④生成商品排版还是什么来着
三家都是不超过50人的小公司
两家线上牛客笔试(卡伦特,七牛云,但是笔试不仅要考前端,还要考后端,算法,甚至数学题
我的建议是如果只做了这两个vue项目且不怎么熟练的情况下,先沉淀沉淀,把react学了,上海好的公司基本都是react
查看图片

点赞 评论 收藏
分享