阿里云3.24笔试题

只说编程题,选择题太难了,我不会

三道题都是O(n)解法:

第一题是经典dp,每一个可以选蓝色或者黄色,有各自的得分,也可以不选,但是相邻不能同色。求最大得分

dp维护蓝、黄、不选三个状态,最后求最大值即可。

第二题是一个贪心,找到两个数组完全不同的互斥区间个数(区间内对应index的数都不能相同)

维护一个两个数组同一下标数值相等的数组,在数组前push(-1),在数组后push(n,数组的长度)

然后找到维护数组相邻下标之间有多少数,设为x,则结果加上x*(x+1)/2

第三题是一个贪心,对于每一个国家必须对应一个粮食的消耗(第一个国家除外),然后找到每一个国家需要购买粮食的地方,这个地方的代价最小即可。对于国家i,从j买,花费vec[j],则开销(i-1-j+vec[j]),对于每一个i来说,只需要让(-1-j+vec[j])最小,取反也就是(j+1-vec[j])最大,对于i,维持一个[1,i-1]的最大一个即可。最后模拟累加即可

#笔试##阿里云笔试##2025暑期实习##aliyun#
全部评论
一百分钟三道编程题,还有选择?这也太紧张了
点赞 回复 分享
发布于 2024-04-10 18:53 江苏
哥 第三题可以再解释一下吗 一直没想明白
点赞 回复 分享
发布于 2024-03-31 17:44 香港
3.24注意一下
点赞 回复 分享
发布于 2024-03-24 16:41 江苏

相关推荐

10-13 22:56
门头沟学院 C++
rt,鼠鼠的浪潮网签明天过期,鼠鼠是山东人,好像自己也能接受。之前的面试大厂基本挂干净了,剩下小米二面后在泡,问了下面试官没有挂,但要泡。还有海信似乎也通过了,不过在深圳,鼠鼠也不是很想去。其它还有一些公司应该陆陆续续还有一些面试,现在有些纠结是直接签了还是再等再面呢?大佬们能不能给鼠鼠提一些意见,万分感谢!!!
牛客78696106...:浪潮可不是开摆,当初我还是开发的时候我组长跟我说他们组有段时间天天1,2点走,早上5点就来,全组肝出来心肌炎,浪潮挣钱省立花可不是说说,当然也看部门,但是浪潮普遍就那dio样,而且你算下时薪就知道不高,没事也是9点半走,不然算你旷工
投递小米集团等公司10个岗位
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
7
15
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务