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

Thời gian trễ mạng

Hướng dẫn chi tiết và cách triển khai Python cho vấn đề 'Thời gian trễ mạng'.

Tuyên bố vấn đề

Dễ dàng

Bạn có một mạng gồm n nút, được dán nhãn từ 1 đến n. Bạn cũng được cung cấp thời gian, danh sách thời gian di chuyển dưới dạng các cạnh có hướng time[i] = [ui, vi, wi], trong đó ui là nút nguồn, vi là nút đích và wi là thời gian để tín hiệu truyền từ nguồn đến đích.

Chúng tôi sẽ gửi tín hiệu từ một nút k nhất định. Trả về thời gian tối thiểu để tất cả n nút nhận được tín hiệu. Nếu tất cả n nút không thể nhận được tín hiệu, hãy trả về -1.

Viết hàm networkDelayTime(times: List[List[int]], n: int, k: int) -> int.

Ràng buộc
  • 1 <= k <= n <= 100
  • 1 <= len(times) <= 6000
  • times[i].length == 3
  • 1 <= ui, vi <= n
  • ui != vi
  • 0 <= wi <= 100
  • All the pairs (ui, vi) are unique

Ví dụ

Example 1
Input
times = [[2,1,1],[2,3,1],[3,4,1]], n = 4, k = 2
Output
2
Explanation

The signal starts at node 2. It reaches 1 and 3 in 1 unit of time, and 4 in 2 units of time.

Example 2
Input
times = [[1,2,1]], n = 2, k = 1
Output
1
Explanation

Signal reaches node 2 from node 1 in 1 unit of time.

Example 3
Input
times = [[1,2,1]], n = 2, k = 2
Output
-1
Explanation

Signal starts at node 2, but there is no path from node 2 to node 1. So node 1 never receives it.

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.