假设一个数字里面的数字只有一个出现了奇数次,其他全是偶数次,求该奇数次的数?
public void in() {
int[] arr = {1, 2, 1, 3, 3, 2, 1, 1, 3};
int end = Mathematics(arr);
}
private static int Mathematics(int[] arr) {
int eor = 0;
for (int i : arr) {
eor = eor ^ i;
}
return eor;
}
知识点:^运算,相同数^是0,不同数是它本身
内存地址不同的两数交换:
a=a^b;
b=a^b;
a=a^b;
附加问:若有两个数出新了奇数次,怎么找?