PDD 4.18笔试题

#笔试# #我的实习求职记录# 后端开发岗,感觉不是很难,数据都比较小。第三题模拟有点恶心,分享一下第四题的思路:
4.(1)题意:两人轮流取硬币,若硬币为奇数则只能取一个,若硬币为偶数则有两种选择:要么取一半,要么取一个。已知两人都很聪明,按照最优策略去取,求最后的分硬币结果。
(2)思路:博弈问题,两人的最优策略为,若当前为奇数,则只能取一个;若当前为偶数,则判断取一半之后是剩下偶数还是奇数,若剩下偶数则选择只取一个,否则取一半。这样可以让对方拿的尽可能少,让对方的选择尽可能少。注意 2是个特例,特判一下
全部评论
dp[i] = max(1+i-dp[i-1], i/2 + i/2-dp[i/2]) 只过了 80%
点赞 回复 分享
发布于 2023-04-19 11:13 浙江
楼主笔试时间是多少
点赞 回复 分享
发布于 2023-04-19 10:12 上海
第四题爆栈过80%,第三题排序过30%…
点赞 回复 分享
发布于 2023-04-18 21:51 江苏

相关推荐

04-12 13:42
江南大学 C++
点赞 评论 收藏
分享
06-03 15:32
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

更多
牛客网
牛客企业服务