所有元素都是成对的,只有一个元素是单一的,求问如何在O(N)的复杂度里面找出这个元素
暴力求解就需要两层循环,不符合题意
这里运用到异或的性质:对于任何数x,都有XX=0,x0=x
int singleNumber(int A[],int n){
int ans = 0;
for(int i=0;i<n;i++){
ans^=A[i];
}
return ans;
}
哎,菜的一匹 异或都不知道
所有元素都是成对的,只有一个元素是单一的,求问如何在O(N)的复杂度里面找出这个元素
暴力求解就需要两层循环,不符合题意
这里运用到异或的性质:对于任何数x,都有XX=0,x0=x
int singleNumber(int A[],int n){
int ans = 0;
for(int i=0;i<n;i++){
ans^=A[i];
}
return ans;
}
哎,菜的一匹 异或都不知道