Определение отсутствующего числа в последовательном массиве от 1 до 9

Недостающее число — 8. Сумма чисел от 1 до 9 равна 45; вычтите из неё все восемь элементов массива.

Короткий ответ

Что ответить на собеседовании

Недостающее число — 8. Сумма чисел от 1 до 9 равна 45; вычтите из неё все восемь элементов массива.

Подробный разбор

Ответ с пояснениями

Условие

Дан массив, состоящий из восьми уникальных натуральных чисел в диапазоне от 1 до 9 включительно. Требуется реализовать функцию, которая выявит недостающее значение.

var numbers = new[] {1, 7, 2, 9, 6, 4, 5, 3};

Ответ

Недостающее число — 8. Сумма чисел от 1 до 9 равна 45; вычтите из неё все восемь элементов массива.

static int Missing(int[] numbers)
{
    int missing = 45;
    foreach (int value in numbers) missing -= value;
    return missing;
}

Решение работает за O(n) и использует O(1) дополнительной памяти. Оно опирается на гарантии условия: восемь уникальных чисел и диапазон 1–9. Если вход произвольный, длину, диапазон и отсутствие повторов нужно проверять отдельно; иначе результат не доказывает существование ровно одного пропуска.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее