Missing Number In Arithmetic Progression
给一个数组, 里面是等差数列, 但是缺一个数, 问缺的是哪个. 因为已知只缺一个, 所以可以用数组长度和第一个数与最后一个数的大小, 找到均差. 然后按个比较找到差的那个.
1 2 3 4 5 6 7 8 9 10 11 |
class Solution { public int missingNumber(int[] arr) { int n = Math.abs(arr[0] - arr[arr.length - 1]); n /= arr.length; for(int i = 1; i < arr.length; i++) { if(Math.abs(arr[i] - arr[i-1]) != n) return arr[i] > arr[i-1] ? arr[i-1] + n: arr[i] + n; } return 0; } } |