现在的位置: 首页 > 综合 > 正文

218 N个数出现了偶数次,2个数出现了奇数次,找出这两个数

2018年01月19日 ⁄ 综合 ⁄ 共 203字 ⁄ 字号 评论关闭

18. 腾讯10.09测试笔试题:
有N+2 个数,N个数出现了偶数次,2个数出现了奇数次(这两个数不相等),问用 O(1)的空间复杂度,找出这两个数,不需要知道具体位置,只需要知道这两个值。

以前已经见过了; 
 1、xor一次,所有偶数个的数异或为0,所以得到2个奇数次的数之异或x 。
 2、以 x(展开成二进制)中有1的最高位位作为划分,第二次只xor最高位为1的那些数,得到y。
 3、然后x xor y 得到另外一个数。

抱歉!评论已关闭.