Ctrl K

Наименьшее отсутствующее положительное

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

Числа 1, 2 и 3 есть в массиве, а 4 — нет.

Пример 2
values=[0, -7] → 1

Положительных чисел нет вовсе, поэтому ответ — 1.

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

Есть все числа от 1 до 3, первое отсутствующее — 4.

Ограничения
  • 1 ≤ len(values) ≤ 10⁵
  • -2³¹ ≤ values[i] ≤ 2³¹ - 1
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиДорешать судоку СложнаяВсе способы расставить пробелы СложнаяЗвёзды на одной прямой СложнаяОстрова после каждой засыпки СложнаяСклеить в палиндром Сложная
загружаем Python…
Вход
values=[5, -2, 1, 3, 2]
Ожидается
4

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