6.1:一个数组中有一种数...
6.1:一个数组中有一种数出现了奇数次,其它数出现了偶数次,怎么找到并打印这种数?
方法一:哈希表统计词频,找到奇数次的那个数
方法二:异或运算
[4,3,4,2,4,3,1,2,1,1,1,3,3],其中1111,22,3333,444
eor = 0
去异或1111,22,3333,444
得到 0 0 0 4,返回这个奇数次的数4
1 public static void printOddTimesNum1(int[] arr) {
2 int eor = 0;
3 for (int i = 0; i < arr.length; i++) {
4 eor ^= arr[i];
5 }
6 System.out.println(eor);
7 }

浙公网安备 33010602011771号