Single Number

来源:互联网 发布:视频局部放大软件 编辑:程序博客网 时间:2024/05/21 17:06


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

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


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






0 0
原创粉丝点击