Entrevista a los 150 mejoresfácil

gasolinera

Guía detallada e implementación de Python para el problema 'Gasolinera'.

Declaración del problema

fácil

Hay n gasolineras a lo largo de una ruta circular, donde la cantidad de gasolina en la iésima gasolinera es gas[i]. Tienes un automóvil con un tanque de gasolina ilimitado y cuesta [i] de gasolina viajar desde la iésima estación hasta la siguiente (i + 1)ésima estación. Comienzas el viaje con el depósito vacío en una de las gasolineras. Devuelve el índice de la gasolinera inicial si puedes recorrer el circuito una vez en el sentido de las agujas del reloj; de lo contrario, devuelve -1. Si existe una solución, se garantiza que será única.

Escribe una función canCompleteCircuit(gas: List[int], cost: List[int]) -> int.

Restricciones
  • n == len(gas) == len(cost)
  • 1 <= n <= 10^5
  • 0 <= gas[i], cost[i] <= 10^4

Ejemplos

Example 1
Input
gas = [1,2,3,4,5], cost = [3,4,5,1,2]
Output
3
Explanation

Start at station 3. tank = 4. Go to 4: cost 1, tank = 4-1+5 = 8. Go to 0: cost 2, tank = 8-2+1=7. Go to 1: cost 3, tank = 7-3+2=6. Go to 2: cost 4, tank = 6-4+3=5. Go to 3: cost 5, tank = 5-5=0. We reached back to station 3.

Example 2
Input
gas = [2,3,4], cost = [3,4,3]
Output
-1
Explanation

No station can complete the circuit.

Need a Hint?
Considere la posibilidad de utilizar estructuras de datos específicas de Greedy, como conjuntos o montones.
Edge Cases to Watch
  • Estructuras de entrada vacías
  • Entradas de un solo elemento
  • Grandes límites numéricos

¿Listo para resolver?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Abrir en el editor
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

Recursos recomendados de Python

Amplíe sus conocimientos con tutoriales interactivos relacionados, hojas de trucos y comparaciones de códigos.