LC: 1228. Missing Number In Arithmetic Progression
1228. Missing Number In Arithmetic Progression
In some array arr, the values were in arithmetic progression: the values arr[i + 1] - arr[i] are all equal for every 0 <= i < arr.length - 1.
A value from arr was removed that was not the first or last value in the array.
Given arr, return the removed value.
Example 1:
Input: arr = [5,7,11,13]
Output: 9
Explanation: The previous array was [5,7,9,11,13].Example 2:
Input: arr = [15,13,12]
Output: 14
Explanation: The previous array was [15,14,13,12].Constraints:
3 <= arr.length <= 10000 <= arr[i] <= 105The given array is guaranteed to be a valid array.
The Essence:
Die Differenz zwischen den Elementen kann dadurch erhalten, dass man die Anzahl der Elemente durch die Differenz des ersten und letzten Elements dividiert. Es ist zu bemerken, dass es betont wird, dass der erste und letzte Element gelöscht werden.
Details:
Nachdem man die Differenz findet, kann man eigentlich binäre Suche anwenden. Wenn arr[mid] == arr[0] + mid * differenz gilt, dann sollen höhere Indizes gesucht werden. Andernfalls sollen niedrigere Indizes gesucht werden.
Solutions:
Default Code:
Last updated