for (i = 0; i < 32; i++)
{
if (((num >> i) & 1) == 1)
{
pos = i;
break;
}
}
//3、遍历数组,分为两个子数组
for (i = 0; i < len; i++)
{
if (((arr[i] >> pos) & 1) == 1)
{
x ^= arr[i];
}
else
{
y ^= arr[i];
}
}
printf("%d,%d\n", x, y);
return 0;
}
一个数组中只有两个数字出现一次其他数字出现两次,找到这个数字
原文:https://blog.51cto.com/14239789/2394632