150 najlepszych wywiadówŁatwe

Zrekonstruuj plan podróży

Szczegółowy przewodnik i implementacja Python dla problemu „Rekonstruuj plan podróży”.

Oświadczenie o problemie

Łatwe

Otrzymasz listę biletów lotniczych, gdzie bilety[i] = [from_i, to_i] reprezentują lotniska wylotu i przylotu jednego lotu. Odtwórz plan podróży w odpowiedniej kolejności i zwróć go.

Wszystkie bilety należą do mężczyzny, który odlatuje z „JFK”. Dlatego plan podróży musi zaczynać się od „JFK”.

Jeśli istnieje wiele prawidłowych tras podróży, należy zwrócić tę trasę, która ma najmniejszy porządek leksykalny, gdy jest odczytywana jako pojedynczy ciąg znaków. Na przykład plan podróży [„JFK”, „LGA”] ma mniejszy porządek leksykalny niż [„JFK”, „LGB”].

Można założyć, że wszystkie bilety obejmują co najmniej jedną ważną trasę. Wszystkie bilety należy wykorzystać tylko raz.

Napisz funkcję findItinerary(tickets: List[List[str]]) -> List[str].

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

Przykłady

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?
Rozważ użycie struktur danych specyficznych dla zaawansowanych wykresów, takich jak zestawy lub sterty.
Edge Cases to Watch
  • Puste struktury wejściowe
  • Wejścia jednoelementowe
  • Duże granice liczbowe

Gotowy do rozwiązania?

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

Otwórz w Edytorze
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

Polecane zasoby Pythona

Poszerzaj swoją wiedzę dzięki powiązanym interaktywnym samouczkom, ściągawkom i porównaniom kodów.