给出2n+1个数
其中有n个数是成对出现的
找出里面只出现了一次的那个数
看这样行不行:
假设 这2n+1个数是int的,则借助两个临时变量可以实现目的 假设数据存放在int Data[2*N+1]里 int Find(int Data[],int N) { int i,int j; j=0; for(i=0;i <2*N+1;)j^=Data[i++]; return j; } 原理,同一个数跟本身异或结果为0,而一个数跟0异或为它本身。
(摘自CSDN论坛算法板块)
|