关注
第一题,我也是暴力超时,我在想用树状数组可以做出来么?但是每次都要找最大值,也许会超时?
第二题,我开始审题错误,最后五分钟想到了一个解法,然鹅没什么卵用,说出来大家看看对不对:
第一遍从头到尾遍历一次,记录元素i之前比它大的最小的一个数的位置dp1[i](有点绕233),如果之前都比他小,则记录它自己的位置,比较的时候需要比较:它自己a[i],它前一个数所记录的dp1[i-1],和它前一个数a[i-1]:
if(a[i-1]>a[i]) dp1[i] = i-1;
else if(a[i]>a[dp1[i-1]]) dp1[i] = i;(这里我觉得需要严格大于,如果等于的话,应该记录dp[i-1],覆盖范围更广)
else dp1[i] = dp[i-1];
同理,在从尾到头遍历一次,记录元素i后面比它大的最小的一个数的位置dp2[i]
这样的话,通过dp1[i]和dp2[i]能确定以i元素为最大的集合能有多少个,最后再从头到尾遍历一遍计算期望,这样的复杂度是O(3n)?
查看原帖
点赞 评论
相关推荐
10-28 19:38
郑州大学 安卓 点赞 评论 收藏
分享
11-15 14:35
南京邮电大学 Java 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 2025年终总结 #
123636次浏览 2077人参与
# 实习简历求拷打 #
16460次浏览 194人参与
# 作业帮求职进展汇总 #
83952次浏览 553人参与
# 秋招被挂春招仍然能投的公司 #
7742次浏览 108人参与
# 实习要如何选择和准备? #
128537次浏览 1486人参与
# 外包能不能当跳板? #
54274次浏览 256人参与
# 诺瓦星云求职进展汇总 #
233507次浏览 1736人参与
# mt对你说过最有启发的一句话 #
38928次浏览 454人参与
# 公司情报交流地 #
126677次浏览 1227人参与
# 为了找工作你花了哪些钱? #
74883次浏览 361人参与
# 你觉得机械有必要实习吗 #
69786次浏览 485人参与
# 投格力的你,拿到offer了吗? #
153405次浏览 821人参与
# 一起聊美团 #
307628次浏览 1767人参与
# 什么是优秀的实习经历 #
9342次浏览 226人参与
# 摸鱼被leader发现了怎么办 #
103766次浏览 659人参与
# 京东开奖 #
632041次浏览 3180人参与
# 秋招特别不鸣谢 #
16580次浏览 186人参与
# 考研失败就一定是坏事吗? #
202562次浏览 1387人参与
# 选实习,你更看重哪方面? #
15242次浏览 229人参与
# 安克创新求职进展汇总 #
62474次浏览 541人参与
