/* 利用按位 异或 解题
A^A=0
A^0=A
所以 ( arr[0]^arr[1] ^arr[2] ^…k ^ k.arr[arr.length-1] )
=arr[0] ^arr[1] ^arr[2] ^arr[3] …k (arr[i]与arr[1+1]值相同,所有成对的按位与后都为0 )
=k
*/
public class WeiYuanSuan2 {
public static void main(String[] args) {
int N=11;
int arr[]= {1,1,2,2,3,3,4,4,5,5,0}; //假设arr[n-1]单独出现一次
int count=0;
int x=0;
for (int i =0; i <= arr.length-1 ; i++) {
x=x^arr[i];
} // 0 ^ a[0] ^ a[1] ^…k=0 ^ k = k
print(arr);
System.out.println(“x:”+x);
}
public static void print(int arr[]){
for (int i : arr) {
System.out.print(i+" ");
}
System.out.println();
}
}
运行结果: