这道题目要求缺失的数字,一般解决数组的问题,要么往排序数组,要么往双指针遍历这些方向上靠,要么往异或方向上靠,总之落点无非就只有这几个。我们要求缺失的数字,可以依次让1~n和数组元素进行异或运算,最终剩下的那个肯定就是缺失的元素
public class missingNumber {
public static void main(String[] args) {
int[] arr ={3,0,1};
System.out.println(getMiss(arr));
}
public static int getMiss(int[] arr) {
int res = 0;
for(int i = 0;i<arr.length;i++) {
res ^= (i+1) ^ arr[i];
}
return res;
}
}