因为A^A=0;A^0=A;
所以将这n+1个含重复数字的数与n个不含重复的数做异或,最后只剩下那个重复的数了。
(A^B^C^C^D^E^F)^(A^B^C^D^E^F)=C
public class HelloWorld {
public static void main(String []args) {
int[] arr=new int[]{1,2,3,4,5,6,7,7,8,9,10,11,12,13,14};
//找出重复的数字即7
int sum=0;
for(int i=0;i<arr.length;i++){
sum=sum^arr[i];
}
for(int j=1;j<=14;j++){
sum^=j;
}
System.out.println(sum);
}
}