Ctrl K

Кого не хватает от 1 до n

Лёгкая
Дан массив values длины n, каждое его число лежит в диапазоне от 1 до n. Какие-то числа могут повторяться, и поэтому каких-то других может не оказаться вовсе. Верните в порядке возрастания все числа от 1 до n, которых в массиве нет. Попробуйте обойтись O(n) времени и без дополнительной памяти, кроме ответа.
Пример 1
values=[2, 2, 5, 1, 5] → [3, 4]

Длина 5, значит ждём числа от 1 до 5. Есть 1, 2 и 5, не хватает 3 и 4.

Пример 2
values=[3, 1, 2] → []

Все числа от 1 до 3 на месте, пропусков нет.

Пример 3
values=[1, 1, 1, 1] → [2, 3, 4]
Ограничения
  • 1 ≤ n = values.length ≤ 10⁵
  • 1 ≤ values[i] ≤ n
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиПара с заданной суммой ЛёгкаяПобедитель с большинством голосов ЛёгкаяЕсть ли повтор ЛёгкаяПовтор в пределах окна ЛёгкаяПотерянный билет Лёгкая
загружаем Python…
Вход
values=[2, 2, 5, 1, 5]
Ожидается
[3, 4]

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 58 тестов на сервере, включая скрытые.