描述 :有一个数组 里面有两种数:其中一个数出现了奇数次,其他数都出现了偶数次,要如何找到这个出现了偶数次的数?
用异或运算
比如 两个相同的数异或结果为0
0^A=A
偶数次的数异或之后的结果为0 再与这个奇数次的数异或所得结果为所求数
public class Find {
//一个数组中有一种数出现了奇数次 其他数都出现了偶数次 你要怎么找出这个数?
public static void main(String[] args) {
int[] arr =new int[]{7,3,3,4,4,5,5,6,6};
System.out.println(find(arr));
}
private static int find(int[] arr) {
int eor =0;
for(int cur : arr){
eor ^= cur;
}
return eor;
}
}