Le migliori 150 intervisteFacile

Ricostruire l'itinerario

Guida dettagliata e implementazione Python per il problema "Ricostruisci itinerario".

Dichiarazione del problema

Facile

Ti viene fornito un elenco di biglietti aerei in cui tickets[i] = [from_i, to_i] rappresentano gli aeroporti di partenza e di arrivo di un volo. Ricostruisci l'itinerario in ordine e restituiscilo.

Tutti i biglietti appartengono a un uomo che parte da "JFK". Pertanto, l'itinerario deve iniziare con "JFK".

Se sono presenti più itinerari validi, è necessario restituire l'itinerario con l'ordine lessicale più piccolo quando viene letto come un'unica stringa. Ad esempio, l'itinerario ['JFK', 'LGA'] ha un ordine lessicale più piccolo di ['JFK', 'LGB'].

Si può presumere che tutti i biglietti formino almeno un itinerario valido. È necessario utilizzare tutti i biglietti una e una sola volta.

Scrivi una funzione findItinerary(tickets: List[List[str]]) -> List[str].

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

Esempi

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?
Prendi in considerazione l'utilizzo di strutture dati specifiche di Advanced Graphs come set o heap.
Edge Cases to Watch
  • Strutture di input vuote
  • Ingressi a elemento singolo
  • Grandi limiti numerici

Pronto a risolvere?

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

Apri nell'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

Risorse Python consigliate

Espandi le tue conoscenze con tutorial interattivi, foglietti illustrativi e confronti di codici correlati.