亚马逊软开笔试思路分享8.27(1+9/11+1)

不让弹出窗口,没法复制代码,只能隔空聊了。

第1题
用map记录每个数字出现次数,取最大的即可。AC

第2题用DP,dp[i] = max(dp[i-1], dp[i-2] + i * count[i]),要么不取i,取i则要略过i-1,用dp[i-2]去加。不知道为什么11个test只过了9个,有人AC吗?
找到正确解法了,应该用二维dp,dp[i][0]代表不取,dp[i][1]代表取

第3题直接inorder traversal然后求和即可,难点在于树的输入:arr[i]的子节点是arr[2*i+1], arr[2*i+2]。AC
#笔试题目##亚马逊#
全部评论
tql
点赞 回复 分享
发布于 2020-08-27 20:30
楼主能大概复述一下题目嘛,感谢!
点赞 回复 分享
发布于 2020-08-27 20:32
第二题用dp,11/8,愁死了,也不能自己测试。
点赞 回复 分享
发布于 2020-08-27 20:33
感觉我没看懂第二题的意思……我说为啥我直接哈希给了个o(n)的算法最后才4/11……
点赞 回复 分享
发布于 2020-08-27 20:38
这个c++的编译器 属实恶心
点赞 回复 分享
发布于 2020-08-27 20:40
我用二维dp也还是只过了9个,百思不得其解
点赞 回复 分享
发布于 2020-08-27 20:41
另外,请问第三题输入负数需要什么处理吗?我第二个测试案例是过的,第一个没有过。
点赞 回复 分享
发布于 2020-08-27 20:45
楼主能详细讲讲第二题吗?怎么用 dp
点赞 回复 分享
发布于 2020-08-27 20:45
为什么我第三题13/14,请问有什么边界条件吗
点赞 回复 分享
发布于 2020-08-27 20:49
第二题要求是最后无剩余,所以二维dp外还得加额外标注信息,不过最后没时间调了,也是9/11
点赞 回复 分享
发布于 2020-08-27 20:52
1+8/11+1,没时间去优化第二题了,应该是DP,但是时间不够挑着最简单的写了贪心
点赞 回复 分享
发布于 2020-08-27 20:54
这个dp不会超时吗?
点赞 回复 分享
发布于 2020-08-27 21:04
同 没有ak 难受
点赞 回复 分享
发布于 2020-08-27 22:54
看来我被刷了,我没有收到笔试的通知,哈哈,可能测评挂了
点赞 回复 分享
发布于 2020-08-27 23:27

相关推荐

爱看电影的杨桃allin春招:我感觉你在炫耀
点赞 评论 收藏
分享
评论
点赞
3
分享
牛客网
牛客企业服务