Tarea
Dado un conjunto de enteros no negativos a , determine el número mínimo de saltos hacia la derecha necesarios para saltar "fuera" de la matriz, comenzando en la posición 0, o devolver cero / nulo si no es posible hacerlo.
Un salto desde el índice ise define como un aumento en el índice de matriz como máximoa[i] .
A fuera de salto es un salto donde el índice resultante de la salto iestá fuera de los límites para la matriz, por lo que para la indexación 1 basada en i>length(a), y para la indexación 0 a base de, i>=length(a).
Ejemplo 1
Considera 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
El camino más corto al "saltar" para salir de los límites tiene longitud 2:
Podríamos saltar de lo 0->2->4->outsideque tiene longitud 3pero 0->4->outsidetiene longitud, 2así que volvemos 2.
Ejemplo 2
Supongamos 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
En este caso, es imposible saltar fuera de la matriz, por lo que deberíamos devolver un valor cero / nulo o cualquier valor no determinista como ∞.
Ejemplo 3
Supongamos Array=[4]:
Array[0] = 4 -> You can jump 4 field
Podemos saltar directamente desde el índice 0 fuera de la matriz, con solo un salto, por lo que volvemos 1 .
Editar:
Debido a múltiples preguntas sobre el valor de retorno: la devolución ∞es totalmente válida, si no hay posibilidad de escapar. Porque, si hay una posibilidad, podemos definir ese número.
Este es el código de golf , por lo que gana el código más corto en bytes.
[2, 3, 1, 1].