Menu
CoddyTech

Jump Game

Znajdujesz się na indeksie 0 tablicy nums. Z indeksu i możesz skoczyć do przodu o dowolną liczbę kroków od 1 do nums[i], więc nums[i] oznacza najdłuższy możliwy skok z tego miejsca, a 0 oznacza, że nie możesz się poruszyć. Zwróć true, jeśli jakaś sekwencja skoków pozwala dotrzeć do ostatniego indeksu, a w przeciwnym razie false.

Funkcja

canJump(nums: integer-array) → boolean
numsinteger-array
najdłuższy skok, jaki możesz wykonać z każdego indeksu
Zwracaboolean
true, jeśli możesz dotrzeć do ostatniego indeksu, zaczynając od indeksu 0, w przeciwnym razie false

Ograniczenia

  • 1 ≤ nums.length ≤ 104
  • 0 ≤ nums[i] ≤ 105
  • Skok może być krótszy niż nums[i], więc długi skok nigdy nie zmusza cię do przeskoczenia ostatniego indeksu.

Przykłady

Wejście
nums = [2, 0, 3, 1, 0, 2]
Wyjście
true
Wyjaśnienie
Z indeksu 0 możesz przejść do indeksu 1 lub 2. Indeks 1 zawiera 0 i jest ślepą uliczką, ale indeks 2 zawiera 3 i prowadzi do indeksu 5, ostatniego indeksu.

lock icon+18 ukrytych testów przy wysłaniu

challenge icon

Pytanie dodatkowe

Policz różne sekwencje skoków, które prowadzą na ostatni indeks, modulo 10^9+7, nadal w czasie O(n).

Zresetuj kod
def canJump(nums):
    # Wpisz kod tutaj
Przypadki testowe

Przypadek 1

Przypadek 2

Przypadek 3

Wejście

nums = [2, 0, 3, 1, 0, 2]

Oczekiwane

true