Entrevista a los 150 mejoresfácil

Reconstruir itinerario

Guía detallada e implementación Python para el problema 'Reconstruir itinerario'.

Declaración del problema

fácil

Se le proporciona una lista de boletos de avión donde los boletos [i] = [desde_i, hasta_i] representan los aeropuertos de salida y llegada de un vuelo. Reconstruir el itinerario en orden y devolverlo.

Todas las entradas pertenecen a un hombre que parte de 'JFK'. Por tanto, el itinerario debe comenzar con 'JFK'.

Si hay varios itinerarios válidos, debe devolver el itinerario que tenga el orden léxico más pequeño cuando se lea como una sola cadena. Por ejemplo, el itinerario ['JFK', 'LGA'] tiene un orden léxico menor que ['JFK', 'LGB'].

Puede asumir que todos los boletos forman al menos un itinerario válido. Debes utilizar todos los billetes una vez y sólo una vez.

Escribe una función findItinerary(tickets: List[List[str]]) -> List[str].

Restricciones
  • 1 <= len(tickets) <= 300
  • tickets[i].length == 2
  • from_i.length == 3
  • to_i.length == 3
  • from_i and to_i consist of uppercase English letters

Ejemplos

Example 1
Input
tickets = [["MUC","LHR"],["JFK","MUC"],["SFO","SJC"],["LHR","SFO"]]
Output
["JFK","MUC","LHR","SFO","SJC"]
Explanation

The only valid itinerary is JFK -> MUC -> LHR -> SFO -> SJC.

Example 2
Input
tickets = [["JFK","SFO"],["JFK","ATL"],["SFO","ATL"],["ATL","JFK"],["ATL","SFO"]]
Output
["JFK","ATL","JFK","SFO","ATL","SFO"]
Explanation

Another possible reconstruction is JFK -> SFO -> ATL -> JFK -> ATL -> SFO, but it is larger lexically.

Need a Hint?
Considere el uso de estructuras de datos específicas de Advanced Graphs, 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.