150 principais entrevistasFácil

Reconstruir Itinerário

Guia detalhado e implementação de Python para o problema 'Reconstruir Itinerário'.

Declaração do problema

Fácil

Você recebe uma lista de passagens aéreas onde tickets[i] = [from_i, to_i] representam os aeroportos de partida e chegada de um voo. Reconstrua o itinerário em ordem e devolva-o.

Todos os ingressos pertencem a um homem que sai do 'JFK'. Assim, o itinerário deve começar com ‘JFK’.

Se houver vários itinerários válidos, você deverá retornar o itinerário que possui a menor ordem lexical quando lido como uma única string. Por exemplo, o itinerário ['JFK', 'LGA'] tem uma ordem lexical menor que ['JFK', 'LGB'].

Você pode assumir que todos os bilhetes formam pelo menos um itinerário válido. Você deve usar todos os ingressos uma vez e apenas uma vez.

Escreva uma função findItinerary(tickets: List[List[str]]) -> List[str].

Restrições
  • 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

Exemplos

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 usar estruturas de dados específicas do Advanced Graphs, como conjuntos ou heaps.
Edge Cases to Watch
  • Estruturas de entrada vazias
  • Entradas de elemento único
  • Grandes limites numéricos

Pronto para resolver?

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

Abrir no 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 Python recomendados

Expanda seu conhecimento com tutoriais interativos relacionados, folhas de dicas e comparações de código.