Usando cualquier lenguaje de programación que admita funciones, tenga la función
is_enough(strArr)
esa toma, strArrque será una matriz que consta de los siguientes elementos:
Nque será el número de estaciones de servicio en una ruta circular- y cada elemento posterior será la cadena
g:cdondeges la cantidad de gas en galones en esa estación de servicio ycserá la cantidad de galones de gasolina necesarios para llegar a la siguiente estación de servicio.
Por ejemplo strArrpuede ser:
["4","3:1","2:2","1:2","0:1"].
Su objetivo es devolver el índice de la estación de servicio de partida que le permitirá recorrer la ruta completa una vez; de lo contrario, devolverá la cadena "imposible" .
Para el ejemplo anterior hay 4 estaciones de servicio, y su programa debería devolver la cadena "1" porque:
Comenzando en la estación 1 , recibe 3 galones de gasolina y gasta 1 para llegar a la siguiente estación.
Luego tiene 2 galones + 2 más en la próxima estación y gasta 2 para tener 2 galones cuando llegue a la tercera estación.
Entonces tienes 3 pero pasas 2 para llegar a la estación final,
En la estación final recibe 0 galones y gasta su galón final para llegar a su punto de partida.
Comenzar en cualquier otra estación de servicio haría imposible moverse por la ruta, por lo que la respuesta es "1" .
Si hay varias estaciones de servicio en las que es posible comenzar, devuelva el índice más pequeño (de la estación de servicio). Nserá >= 2.
Resultados de muestra correctos:
Input: ["4","1:1","2:2","1:2","0:1"]
Output: "impossible"
Input: ["4","0:1","2:2","1:2","3:1"]
Output: "4"
El ganador será el que use el código más corto, aunque será largo.
N+1elementos precisos en strArr? Esto sería Nredundante en caso de que el lenguaje ya proporcione una forma de obtener la longitud de la matriz, ¿verdad? (aún sería útil para, por ejemplo, C).
is_enough(9 caracteres); tres están usando un nombre de un solo carácter, y uno no nombra la función en absoluto. ¿Podría por favor aclarar lo que está permitido?