异或的用法
转载
异或的用法
Leetcode: 找数组中不重复的数字
假设一个数组中有两两成对的数字,只有一个数字是不成对的,请问是哪一个数字。例如,{1,2,2,3,3},不重复的数字是1。
因为a ^ b = b ^ a,所以异或满足交换律,也就是说,我们对整个数组做异或,可得,1 ^ 2 ^ 2 ^ 3 ^ 3 = 1 ^ (2 ^ 2) ^ (3 ^ 3) = 1 ^ 0 ^ 0 = 1。实现代码如下,
int aim = numarray[0];
for(int i = 1; i < aim.le
转载
2021-04-08 15:42:13 ·
401 阅读 ·
1 评论