笔试的编程题总是AC不过去,很慌,如何训练

第一次发帖,特别想问大家,在线编程题到底要怎么练呢?从开始到现在,编程题基本上就没AC过去的,比如这次百度的笔试题中两个数组a[n]和b[n-1],b是a的一个子集,从a中查出不在b中元素,比如a=2,3,4,5,7   b=3,4,5,7. 查出2。题目本身看着不难,但是数据量非常大的时候,怎么实现呢?#百度##算法工程师#
全部评论
把N个数字加起来-(N-1)个数字的和
点赞 回复 分享
发布于 2016-09-13 21:45
你将两个数组合在一起看,就是查找只出现一次的那个数。这是,你用异或来实现,这是个经典的题目,经常考
点赞 回复 分享
发布于 2016-09-13 21:33
用hash是一种方法,算法复杂度O(n) 否者逐个比较算法复杂度O(m*n) 笔试确实需要多练,多做题。我也觉得这种其实不能一概而论,有的人本身就不强于算法,强行用这个判断人不太好,不过没办法。
点赞 回复 分享
发布于 2016-09-13 21:30
刷leetcode 周边个个LeetCode都耍了5遍以上! 
点赞 回复 分享
发布于 2016-09-13 21:31
先排好序再找会方便一点。
点赞 回复 分享
发布于 2016-09-13 21:30
这个题目如果还不能ac  那只能说明算法能力太弱了  练得太少了 可能不是每个人都能达到acm那样的水平 但是至少需要通过努力达到应付简单题目吧.
点赞 回复 分享
发布于 2016-09-13 21:37
这个是 LeetCode 原题啊, 2N-1 个数里,只有一个数出现一次,其余的都出现两次。 全都异或起来就好了呀。
点赞 回复 分享
发布于 2016-09-13 21:53
直接把两个数组中的值异或,最后剩下的就是单独的数
点赞 回复 分享
发布于 2016-09-13 22:07
我实现了所有数存起来异或的函数,可以输入格式总是有问题
点赞 回复 分享
发布于 2016-09-13 22:30
用异或
点赞 回复 分享
发布于 2016-09-13 22:59
加油
点赞 回复 分享
发布于 2016-09-13 23:40
排序后比较,复杂度会减小许多
点赞 回复 分享
发布于 2016-09-14 08:29
看成两个链表,把两个链表连接,把大链表中包含小链表的重复数字去除,剩下的就是结果了吧
点赞 回复 分享
发布于 2016-09-18 13:21

相关推荐

Natrium_:这时间我以为飞机票
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务