Menu
CoddyTech

First Missing Positive

Дан неотсортированный массив целых чисел nums. Верните наименьшее положительное целое число (не меньше 1), которого нет в nums. Массив может содержать отрицательные числа, нули, повторяющиеся значения и числа, намного превышающие его длину.

Функция

firstMissingPositive(nums: integer-array) → integer
numsinteger-array
неотсортированные целые числа, которые могут повторяться и быть отрицательными, нулевыми или очень большими
Возвращаетinteger
наименьшее положительное целое число, отсутствующее в nums

Ограничения

  • 1 ≤ nums.length ≤ 104
  • -109 ≤ nums[i] ≤ 109
  • Значения не расположены в каком-либо определённом порядке и могут повторяться.

Примеры

Ввод
nums = [5, -2, 1, 3, 2, 9]
Вывод
4
Пояснение
1, 2 и 3 есть в массиве, а 4 нет, поэтому ответ — 4. 5 и 9 не имеют значения, если отсутствует меньшее значение.
challenge icon

Дополнительный вопрос

Сможешь найти ответ за время O(n), используя только O(1) дополнительной памяти?

Сбросить код
def firstMissingPositive(nums):
    # Напишите код здесь

Тест #1

Тест #2

Тест #3

Аргумент

nums = [5, -2, 1, 3, 2, 9]

Ожидаемый вывод

4