关注
答案解释里说的模棱两可的,首先应该是 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
相关推荐
2025-12-16 17:17
门头沟学院 产品经理 点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 春招什么时候投? #
7256次浏览 116人参与
# 牛友的春节生活 #
3877次浏览 109人参与
# 春节前,你还在投简历吗? #
10022次浏览 132人参与
# 从夯到拉,锐评职场mentor #
2735次浏览 55人参与
# 牛客AI体验站 #
14023次浏览 261人参与
# 实习到现在,你最困惑的一个问题 #
2895次浏览 95人参与
# 春节提前走,你用什么理由请假? #
6488次浏览 167人参与
# 备战春招/暑实,现在应该做什么? #
2646次浏览 98人参与
# 距离春招还有一个月,你现在是什么开局? #
4254次浏览 92人参与
# 聊聊Agent开发 #
19289次浏览 511人参与
# 暑期实习什么时候投? #
4951次浏览 128人参与
# 推荐一个值得做的AI项目 #
5253次浏览 153人参与
# 听劝,这个简历怎么改 #
380640次浏览 1826人参与
# 机械人的秋招小目标 #
28342次浏览 239人参与
# 我的AI电子员工 #
27627次浏览 186人参与
# 腾讯工作体验 #
568181次浏览 3712人参与
# 参加完秋招的机械人,还参加春招吗? #
108240次浏览 704人参与
# 实习的内耗时刻 #
221504次浏览 1643人参与
# 互联网公司评价 #
488453次浏览 4119人参与
# bilibili求职进展汇总 #
180880次浏览 1074人参与
查看10道真题和解析