9.5 小米笔试
鼠鼠因为简历被疯狂挂,导致很久没写笔试了
今天有幸写了小米的笔试题:
第一题是做面包的最小代价题,直接模拟一遍就行,要用multiset维护一个有序集合,或者用堆也可以
第二题也是个最小代价问题,两种操作,一个是给一个数自增1,一个是移除一个数,最后让数组和被x整除。最优解肯定是要考虑两种操作的组合,所以要穷举所有可能出现的情况,而删除i和删除i+x最后+1的操作数都是一样的,所以对元素取模,只需要考虑删除[1,x-1]这个区间的和就可以了,这时候就可以把问题转化为和为i的最小元素数,用dp就行。
求出dp数组后再依次考虑每个代价i,看删除了和为i的几个元素后,还需要做几次加1的操作,最后取最优解即可。
在更新ans的时候忘记考虑s - i后刚好是x的倍数的情况了,卡了二十分钟
今天有幸写了小米的笔试题:
第一题是做面包的最小代价题,直接模拟一遍就行,要用multiset维护一个有序集合,或者用堆也可以
第二题也是个最小代价问题,两种操作,一个是给一个数自增1,一个是移除一个数,最后让数组和被x整除。最优解肯定是要考虑两种操作的组合,所以要穷举所有可能出现的情况,而删除i和删除i+x最后+1的操作数都是一样的,所以对元素取模,只需要考虑删除[1,x-1]这个区间的和就可以了,这时候就可以把问题转化为和为i的最小元素数,用dp就行。
求出dp数组后再依次考虑每个代价i,看删除了和为i的几个元素后,还需要做几次加1的操作,最后取最优解即可。
在更新ans的时候忘记考虑s - i后刚好是x的倍数的情况了,卡了二十分钟
全部评论
有点牛
请问第一题是那个配对括号的题吗?
都是编程题吗
请问第二题的dp[i]表示什么?
相关推荐
查看7道真题和解析 点赞 评论 收藏
分享
05-18 14:16
成都理工大学 C++ 努力的小明a:项目看着很眼熟,施磊老师吧,我也学的这个😋我当时是把rpc框架做成了一个分布式网盘,这是一个项目,然后muduo库做成集群即时通讯,又用QT做了个交互的客户端,这样又一个项目,然后一个轻量redis,一个CAD,总共四个项目,投了三个月就今天2月份一个小厂Qt offer,然后后面想开了,Qt啥的都能干,这个月get了个北京大厂的offer,做java后端,人生就是这么魔幻,现在就在去北京入职的路上
点赞 评论 收藏
分享
点赞 评论 收藏
分享

