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]表示什么?
相关推荐
02-05 13:16
南京邮电大学 Java 等闲_:其实agent开发和语言没关系,只要能稳定落地可观测,有业务价值的agent就是好agent,而各种语言的agentkit是企业基建必要的,是一些maas平台的agent模块的重要组成,需要提供零代码的能力让M端的同***营agent,所以不要过于纠结这些,真正要看的是模型工程化这整条链路,能做什么,怎么做更方便
点赞 评论 收藏
分享
查看15道真题和解析