Недостающее число — 8. Сумма чисел от 1 до 9 равна 45; вычтите из неё все восемь элементов массива.
Определение отсутствующего числа в последовательном массиве от 1 до 9
Недостающее число — 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. Если вход произвольный, длину, диапазон и отсутствие повторов нужно проверять отдельно; иначе результат не доказывает существование ровно одного пропуска.