Menu
CoddyTech

Jump Game

Ti trovi all'indice 0 dell'array nums. Dall'indice i puoi saltare in avanti di un numero di passi compreso tra 1 e nums[i], quindi nums[i] è il salto più lungo che puoi fare da lì e uno 0 significa che non puoi muoverti. Restituisci true se una sequenza di salti permette di raggiungere l'ultimo indice, e false altrimenti.

Funzione

canJump(nums: integer-array) → boolean
numsinteger-array
il salto più lungo che puoi fare da ciascun indice
Restituisceboolean
true se puoi arrivare all'ultimo indice partendo dall'indice 0, altrimenti false

Vincoli

  • 1 ≤ nums.length ≤ 104
  • 0 ≤ nums[i] ≤ 105
  • Un salto può essere più corto di nums[i], quindi un salto lungo non ti costringe mai a superare l'ultimo indice.

Esempi

Input
nums = [2, 0, 3, 1, 0, 2]
Output
true
Spiegazione
Dall'indice 0 puoi raggiungere l'indice 1 o 2. L'indice 1 contiene 0 ed è un vicolo cieco, ma l'indice 2 contiene 3 e raggiunge l'indice 5, l'ultimo indice.

lock icon+18 test nascosti all’invio

challenge icon

Per approfondire

Conta le diverse sequenze di salti che arrivano all'ultimo indice, modulo 10^9+7, sempre in tempo O(n).

Ripristina il codice
def canJump(nums):
    # Scrivi il codice qui
Casi di test

Caso 1

Caso 2

Caso 3

Input

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

Atteso

true