编程实现:一组数据中只有一个数字出现了一次。其他所有数字都是成对出现的。请找出这个数字。(使用位运算)
int arr[9] = { 1, 2, 3, 4, 5, 4, 3, 2, 1};
int i = 0;
int num = 0;
for (i = 0; i < 9; i++)
{
num ^= arr[i];
}
printf("%d/n", num);
亦或( ^ )的作用是位运算时,相同为0,相异为1。
则1 ^ 1 == 0;
2 ^ 2 == 0;
3 ^ 3 == 0;
4 ^ 4 == 0;
……
num ^ 5 = 5;
最终留下的即未成对出现的数字
编程实现:一组数据中只有一个数字出现了一次。其他所有数字都是成对出现的。请找出这个数字。(使用位运算)最先出现在Python成神之路。
共有 0 条评论