public int missingNumber(int[] arr) {
int diff1 = arr[1] - arr[0];
int diff2 = arr[2] - arr[1];
int diff = diff1;
if (Math.abs(diff1) > Math.abs(diff2)) {
diff = diff2;
}
int pre = arr[0];
for (int i = 1; i < arr.length; ++i) {
if (arr[i] - arr[i - 1] != diff) {
pre = arr[i - 1];
}
}
return pre + diff;
}
1.找真正的差值,差值是绝对值最小的那个。因为如果空缺了一个数,其前后数的差的绝对值一定比不缺的要大
2.线性查找或者二分查找,找前后差值不等于差的那个数