当前位置: 首页 > 面试经验 >

美团笔试题解0819

优质
小牛编辑
80浏览
2023-08-19

美团笔试题解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个相同的数和一个不同的数。那么牺牲哪个数作为不同的数,能够使得操作最少呢?答案是偏离平均值最多的数,即最大值/最小值。剩下的数就让它们操作至它们的平均值(上/下取整,也可能是四舍五入,我这里来不及证明直接两个分别算了)。
 类似资料: