Single Number


1、2N+1个数中有一个A仅出现1次,其他数都成对出现(出现2次),使用异或求A。
2、3N+1个数中有一个A仅出现1次,其他数都成组出现(出现3次),使用扩展3进制异或求A。
Single Number_第1张图片

3、2N+2个数(S)中有两个数A,B仅出现一次,其他数都成对出现(出现2次),使用异或求出C=AxorB

Single Number_第2张图片

再根据C的二进制中为1的某一位(i)对S进行分组:2M+1(第i位为1),2N+1(第i位为0),再对每组分别异或,即可求出A,B。






你可能感兴趣的:(Single Number)