Phỏng vấn top 150Dễ dàng

Xây dựng lại hành trình

Hướng dẫn chi tiết và cách triển khai Python cho vấn đề 'Xây dựng lại hành trình'.

Tuyên bố vấn đề

Dễ dàng

Bạn được cung cấp một danh sách vé máy bay trong đó ticket[i] = [from_i, to_i] đại diện cho sân bay khởi hành và sân bay đến của một chuyến bay. Xây dựng lại hành trình theo thứ tự và trả lại.

Tất cả vé đều thuộc về một người đàn ông khởi hành từ 'JFK'. Vì vậy, hành trình phải bắt đầu bằng 'JFK'.

Nếu có nhiều hành trình hợp lệ, bạn nên trả về hành trình có thứ tự từ vựng nhỏ nhất khi đọc dưới dạng một chuỗi. Ví dụ: hành trình ['JFK', 'LGA'] có thứ tự từ vựng nhỏ hơn ['JFK', 'LGB'].

Bạn có thể cho rằng tất cả các vé đều có ít nhất một hành trình hợp lệ. Bạn phải sử dụng tất cả các vé một lần và chỉ một lần.

Viết hàm findItinerary(tickets: List[List[str]]) -> List[str].

Ràng buộc
  • 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

Ví dụ

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?
Hãy cân nhắc sử dụng các cấu trúc dữ liệu dành riêng cho Đồ thị nâng cao như tập hợp hoặc vùng heap.
Edge Cases to Watch
  • Cấu trúc đầu vào trống
  • Đầu vào phần tử đơn
  • Giới hạn số lớn

Sẵn sàng để giải quyết?

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

Mở trong Trình chỉnh sửa
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

Tài nguyên Python được đề xuất

Mở rộng kiến thức của bạn với các hướng dẫn tương tác, bảng ghi chú và so sánh mã có liên quan.