关注
答案解释里说的模棱两可的,首先应该是 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
相关推荐
点赞 评论 收藏
分享
不知道怎么取名字_:技术这个东西,太杂了,而且要下功夫的
查看5道真题和解析 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 对2025年忏悔 #
1765次浏览 45人参与
# 腾讯音乐求职进展汇总 #
145306次浏览 1038人参与
# 实习没人带,苟住还是跑路? #
7383次浏览 165人参与
# 我们是不是被“优绩主义”绑架了? #
7009次浏览 247人参与
# 元旦假期你打算怎么过 #
5155次浏览 131人参与
# 大家实习都在做什么? #
6506次浏览 63人参与
# 电网笔面经互助 #
56804次浏览 470人参与
# 春招前还要继续实习吗? #
1779次浏览 27人参与
# 一人说一家双休的公司 #
4093次浏览 67人参与
# 面试官问过你最刁钻的问题是什么? #
4601次浏览 65人参与
# 毕业论文怎么查AI率 #
70133次浏览 1941人参与
# 非技术2024笔面经 #
451355次浏览 4918人参与
# 参加过提前批的机械人,你们还参加秋招么 #
105504次浏览 1649人参与
# 牛客2025仙途报告 #
30788次浏览 394人参与
# 你做过哪些dirty work #
25081次浏览 155人参与
# 联影求职进展汇总 #
165141次浏览 832人参与
# 你们的毕业论文什么进度了 #
1223984次浏览 9903人参与
# 硬件人秋招进展 #
262613次浏览 3963人参与
# 晒一晒你收到的礼盒 #
93234次浏览 446人参与
# 实习心态崩了 #
96851次浏览 495人参与
