#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int query(int a[], int size){
for (int i = 1; i < size;++i){
a[0] = a[0] ^ a[i];
}
return a[0];
}
//随便在数组中找出一个元素,然后依次异或。其中有出现偶次数的整数全部会相互抵消。例如:
//a=a^b^b
//c=a^b^b^a^c
//根据这个原则我们可以很容易的求出里面出现奇次数的数字。
int main(){
int a[] = { 1, 1, 3, 3, 4, 5, 5, 6, 6 };
int size = sizeof(a) / sizeof(a[0]);
int b = query(a,size);
printf("%d", b);
system("pause");
return 0;
}
编程实现: 一组数据中只有一个数字出现了一次。其他所有数字都是成对出现的。 请找出这个数字。
猜你喜欢
转载自blog.csdn.net/qq_43692920/article/details/85226560
今日推荐
周排行