目录
1.时间复杂度
2.对数器
3.异或运算
1)数组中有两种数出现过奇数次,有一种数出现过偶数次
public static void main(String[] args) {
int arr[] = new int[]{1,2,3,3,3,3,2,2,1,1};
zhaoshu(arr);
}
public static void zhaoshu(int arr[]){
int sum = 0;
for (int i = 0 ; i < arr.length; i++){
sum^=arr[i];
}
int left = sum & (~sum+1);//取最右边的1
int num1 = 0;
int num2 = 0;
for (int i = 0; i < arr.length; i++){
if ((arr[i] & left) == 0){
num1^=arr[i];
}
else num2^=arr[i];
}
System.out.println("找到了,分别为num1:" + num1 + " 和num2:" + num2);
}