Типичная постановка
Массив из n чисел — перестановка 1…n+1 без одного значения (или 0…n). Нужно найти missing.
function missingNumber(nums) {
const n = nums.length;
const expected = (n * (n + 1)) / 2;
const actual = nums.reduce((a, b) => a + b, 0);
return expected - actual;
}
missingNumber([3, 0, 1]);
XOR-вариант без переполнения суммы:
function missingXor(nums) {
let x = nums.length;
for (let i = 0; i < nums.length; i++) x ^= i ^ nums[i];
return x;
}
Уточняйте условие
Диапазон, дубликаты, отрицательные — меняют решение (Set, sort, cycle sort).
Итог
Сумма или XOR за O(n) время и O(1) память — стандартный ответ.