Tâche
Étant donné un tableau d'entiers non négatifs a, déterminez le nombre minimum de sauts vers la droite requis pour sauter "en dehors" du tableau, en commençant à la position 0, ou renvoyez zéro / nul s'il n'est pas possible de le faire.
Un saut d'index iest défini comme une augmentation de l'index du tableau d'au plusa[i] .
Un saut à l'extérieur est un saut où l'index résultant du saut iest hors limites pour le tableau, donc pour l'indexation basée sur 1 i>length(a)et pour l'indexation basée sur 0,i>=length(a) .
Exemple 1
Considérez Array = [4,0,2,0,2,0]:
Array[0] = 4 -> You can jump 4 field
Array[1] = 0 -> You can jump 0 field
Array[2] = 2 -> You can jump 2 field
Array[3] = 0 -> You can jump 0 field
Array[4] = 2 -> You can jump 2 field
Array[5] = 0 -> You can jump 0 field
Le chemin le plus court en "sautant" pour sortir des limites a une longueur 2:
Nous pourrions sauter de 0->2->4->outsidequi a de la longueur 3mais de la 0->4->outsidelongueur, 2alors nous revenons 2.
Exemple 2
Supposons Array=[0,1,2,3,2,1]:
Array[0] = 0 -> You can jump 0 fields
Array[1] = 1 -> You can jump 1 field
Array[2] = 2 -> You can jump 2 field
Array[3] = 3 -> You can jump 3 field
Array[4] = 2 -> You can jump 2 field
Array[5] = 1 -> You can jump 1 field
Dans ce cas, il est impossible de sauter en dehors du tableau, nous devons donc retourner un zéro / null ou toute valeur non déterministe comme ∞.
Exemple 3
Supposons Array=[4]:
Array[0] = 4 -> You can jump 4 field
Nous pouvons directement sauter de l'index 0 en dehors du tableau, avec un seul saut, donc nous revenons 1.
Éditer:
En raison de plusieurs questions sur la valeur de retour: Le retour ∞est totalement valide s'il n'y a aucune chance de s'échapper. Parce que, s'il y a une chance, nous pouvons définir ce nombre.
C'est du code-golf , donc le code le plus court en octets gagne!
[2, 3, 1, 1].