Find missing element in arithmetic progression

Albert Davletov
UniLecs
Published in
Apr 26, 2021

Разбор

Нам необходимо найти разность арифметической прогрессии, тогда мы легко сможем найти пропущенный элемент в массиве. Как найти разность?!

По условию сказано, что крайние элементы не могут быть удалены из массива, используем этот факт, а также формулу разности арифм.прогрессии.

Формула разности арифметической прогрессии: d = (An — A1) / (n — 1).

В нашем случае, размер массива имеет длину как раз (n — 1), т.к. был удален 1 элемент. Тогда разница арифм.прогрессии для нашего массива будет:

diff = (arr[len — 1] — arr[0]) / arr.Length

Далее проходим по массиву и считаем прогрессию, когда мы встречаем 1ю не стыковку в элементе массива и элементе прогрессии, выводим результат.

Реализация

C#

gist.github.com

Play-test

dotnetfiddle.net

--

--