【拼多多】20250309-拼多多笔试
1. 贪心 100%
2. 前缀和 + 数学优化 100%
i 就是用反转的地方,j 就是用反转后走到的地方
-preSum[i] + (preSum[j] - preSum[i]) = -2 x preSum[i] + preSum[j]
也就是找两个值(0 <= i < j <= n-1),使得当走到 i 时,preSum[j] 值要取最小或者最大值
这里用两个数组保存 preSum[i~n-1] 的最大和最小值,最后依次遍历,当遍历到 preSum[i] 时,取 preSumMaxPost[i+1] 或 preSumMinPost[i+1] 作为 preSum[j],比较最大值
PS:需要考虑特殊情况,就是一次反转都没用,那就直接 res = max(res, abs(preSum[i+1])); 即可
3. 动态规划/记忆化搜索 100%
动态规划一时紧张没写出来,转头写了记忆化搜索,搜索的条件就是当前页码、剩余分钟数
4. 排序 + 贪心 100%
先排序获得所有身高可选的所有座位号,然后贪心再次把每种身高的座位号按照优先前排、再优先最右侧进行排序,最后按照到场顺序,依次选择每种身高的座位号
2. 前缀和 + 数学优化 100%
i 就是用反转的地方,j 就是用反转后走到的地方
-preSum[i] + (preSum[j] - preSum[i]) = -2 x preSum[i] + preSum[j]
也就是找两个值(0 <= i < j <= n-1),使得当走到 i 时,preSum[j] 值要取最小或者最大值
这里用两个数组保存 preSum[i~n-1] 的最大和最小值,最后依次遍历,当遍历到 preSum[i] 时,取 preSumMaxPost[i+1] 或 preSumMinPost[i+1] 作为 preSum[j],比较最大值
PS:需要考虑特殊情况,就是一次反转都没用,那就直接 res = max(res, abs(preSum[i+1])); 即可
3. 动态规划/记忆化搜索 100%
动态规划一时紧张没写出来,转头写了记忆化搜索,搜索的条件就是当前页码、剩余分钟数
4. 排序 + 贪心 100%
先排序获得所有身高可选的所有座位号,然后贪心再次把每种身高的座位号按照优先前排、再优先最右侧进行排序,最后按照到场顺序,依次选择每种身高的座位号
全部评论
太强了


相关推荐
查看23道真题和解析 点赞 评论 收藏
分享
03-19 17:53
武汉大学 算法工程师
暴杀流调参工作者:春招又试了一些岗位,现在投递很有意思,不仅要精心准备简历,投递官网还得把自己写的东西一条一条复制上去,阿里更是各个bu都有自己的官网,重复操作无数次,投完简历卡完学历了,又该写性格测评、能力测评,写完了又要写专业笔试,最近还有些公司搞了AI辅助编程笔试,有些还有AI面试,对着机器人话也听不明白录屏硬说,终于到了人工面试又要一二三四面,小组成员面主管面部门主管面hr面,次次都没出错机会,稍有不慎就是挂。
卡学历卡项目卡论文卡实习什么都卡,没有不卡的😂 点赞 评论 收藏
分享
点赞 评论 收藏
分享
