牛客第一菜狗:第一题:
动态规划,dp[i]记录到i为止的结果,last[j]表示上一次拿到宝石j的关卡。则dp[i]=max{dp[i-1], dp[last[x]] + y},要求last[x]存在。
第二题:
简单dfs,从下向上记录将子树修复所需要派出的施工队数。如果发现一个孩子的dfs为0且从本节点到孩子的道路需要修复,则该孩子的答案设为1。最后把所有孩子的答案加起来就是本节点的result。
第三题:
参考力扣原题152,本题不保证数据范围,因此要把所有a[i]对2取对数并记录符号。我写得比较恶心。先根据0切片,对每个切片分情况讨论:
如果负数的数量是偶数,则直接把子数组求和(已经转为对数)即可。
如果负数数量是奇数,找到第一个负数和最后一个负数,分别取其后和其前,更新结果即可。
第四题:
先记录每个值所对的所有下标。贪心从后往前,维护到当前为止的右侧最小值right,当且仅当a[i]≤right且a[i]占据一片连续的区域时才可以跳过a[i],否则就要把所有a[i]更新为0。同时更新right。
投递拼多多集团-PDD等公司10个岗位
0 点赞 评论 收藏
分享
0 点赞 评论 收藏
分享
投递字节跳动等公司10个岗位 >
0 点赞 评论 收藏
分享
0 点赞 评论 收藏
分享
哄哄不牛逼:可以投递给你吗,dalao
投递字节跳动等公司10个岗位 >
0 点赞 评论 收藏
分享
投递字节跳动等公司10个岗位 >
0 点赞 评论 收藏
分享
游策小白奋斗中:加油,别的也说不出来了
0 点赞 评论 收藏
分享
母校决定我来拉低水平线:难道你就是传说中的91void哥?
0 点赞 评论 收藏
分享
0 点赞 评论 收藏
分享
关注他的用户也关注了: