Menu
CoddyTech

First Missing Positive

Otrzymujesz nieposortowaną tablicę liczb całkowitych nums. Zwróć najmniejszą dodatnią liczbę całkowitą (1 lub większą), która nie występuje w nums. Tablica może zawierać liczby ujemne, zera, powtarzające się wartości oraz wartości znacznie większe od jej długości.

Funkcja

firstMissingPositive(nums: integer-array) → integer
numsinteger-array
nieposortowane liczby całkowite, które mogą się powtarzać i być ujemne, równe zero lub bardzo duże
Zwracainteger
najmniejsza dodatnia liczba całkowita, której brakuje w nums

Ograniczenia

  • 1 ≤ nums.length ≤ 104
  • -109 ≤ nums[i] ≤ 109
  • Wartości nie są uporządkowane w żaden szczególny sposób i mogą się powtarzać.

Przykłady

Wejście
nums = [5, -2, 1, 3, 2, 9]
Wyjście
4
Wyjaśnienie
1, 2 i 3 są w tablicy, a 4 nie, więc odpowiedzią jest 4. 5 i 9 nie mają znaczenia, gdy brakuje mniejszej wartości.
challenge icon

Pytanie dodatkowe

Czy potrafisz znaleźć odpowiedź w czasie O(n), używając tylko O(1) dodatkowej pamięci?

Zresetuj kod
def firstMissingPositive(nums):
    # Wpisz kod tutaj

Test #1

Test #2

Test #3

Argument

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

Oczekiwany wynik

4