//谁是单身狗 一个整型数组只有一个数出现一次,其它数都出现两次,找到并输出
#include<stdio.h>
int main()
{
int arr[] = { 1,5,2,6,5,1,6,2,4 };
int sz = sizeof(arr) / sizeof(arr[0]);
int num = 0, i = 0;
for (i = 0; i < sz; i++)
{
num ^= arr[i];
}
printf("单身狗是:%d", num);
return 0;
}
题目:在一个数组中,只有一个数只出现一次,其它数都出现两次,找出那个数
题目很简单,当时要考虑到空间复杂度,循环只能进行一次,只要知道两个相等的数异或等于零即可,先设一个num=0,将它与数组中所有数都异或就可以得到那个数了