关注
答案解释里说的模棱两可的,首先应该是 ret&(-ret),该运算的目的时为了找到两个数字的二进制位中第一个不相同二进制位,然后根据这个位置进行分组, ret&(-ret)也可以理解为 mask=1,while(ret&mask==0)mask<<=1。然后根据这个位置,在第二次进行for循环的时候,将原数组所有的元素根据i位置的不同进行分组并进行异或运算,由于其他的数字出现两次所以异或的二进制位结果会抵消掉,即n^n=0,所以最后的结果为我们要求的其中一个数num1^0=num1 [这里的0即为其他进入该分组且重复2次的数字异或的最后结果n^n^m^m....=0,并且无视元素顺序,结果都一样,可通过写demo证实],所以通过if-else进行分两组后求出我们需要的答案。
8
相关推荐
查看7道真题和解析 点赞 评论 收藏
分享
查看7道真题和解析 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 我的实习日记 #
4145455次浏览 33217人参与
# 你投了多少家公司?进展是___ #
252573次浏览 1489人参与
# 第3届现代汽车Code Faster急速编程挑战赛 #
27101次浏览 481人参与
# 秋招投递记录 #
429810次浏览 3318人参与
# 你投递的公司有几家约面了? #
175165次浏览 1048人参与
# 城市生存手册 #
1308次浏览 19人参与
# 今年形式下双非本找得到工作吗 #
339970次浏览 1797人参与
# 重来一次,你会对开始求职的自己说 #
55448次浏览 517人参与
# 秋招提前批,你开始投了吗 #
772585次浏览 8500人参与
# 你认为小厂实习有用吗? #
153366次浏览 809人参与
# 实习返校后,你的精神状态是__? #
47767次浏览 174人参与
# 通信/硬件求职避坑tips #
179713次浏览 1177人参与
# 为了找工作你投递了多少公司? #
122536次浏览 774人参与
# 产品实习,你更倾向大公司or小公司 #
234883次浏览 2169人参与
# 这个工作能去吗 #
184237次浏览 959人参与
# 你开始找寒假实习了吗? #
110397次浏览 633人参与
# 聊聊你的职场新体验 #
363929次浏览 1939人参与
# 我的租房踩坑经历 #
231975次浏览 1341人参与
# 实习生的生存小技巧 #
42193次浏览 366人参与
# 如何看待应届生身份? #
261358次浏览 2364人参与
# 你找工作想离家近 or 离家远? #
55244次浏览 403人参与
