Top 150 des entrevuesFacile

Reconstruire l'itinéraire

Guide détaillé et implémentation de Python pour le problème « Reconstruire l'itinéraire ».

Énoncé du problème

Facile

Vous recevez une liste de billets d'avion où tickets[i] = [from_i, to_i] représentent les aéroports de départ et d'arrivée d'un vol. Reconstituez l'itinéraire dans l'ordre et restituez-le.

Tous les billets appartiennent à un homme qui part de « JFK ». Ainsi, l'itinéraire doit commencer par « JFK ».

S'il existe plusieurs itinéraires valides, vous devez renvoyer l'itinéraire qui a le plus petit ordre lexical lorsqu'il est lu comme une seule chaîne. Par exemple, l'itinéraire ['JFK', 'LGA'] a un ordre lexical plus petit que ['JFK', 'LGB'].

Vous pouvez supposer que tous les billets forment au moins un itinéraire valide. Vous devez utiliser tous les billets une et une seule fois.

Écrivez une fonction findItinerary(tickets: List[List[str]]) -> List[str].

Contraintes
  • 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

Exemples

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?
Pensez à utiliser des structures de données spécifiques à Advanced Graphs, telles que des ensembles ou des tas.
Edge Cases to Watch
  • Structures d'entrée vides
  • Entrées à élément unique
  • Grandes limites numériques

Prêt à résoudre ?

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

Ouvrir dans l'éditeur
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

Ressources Python recommandées

Développez vos connaissances avec des didacticiels interactifs, des aide-mémoire et des comparaisons de codes associés.