
[ Advanced algorithm] 1
Cho một đồ thị có hướng với n
đỉnh, các đỉnh được đánh số từ 1
tới n
. Hãy viết hàm kiểm tra xem có tồn tại đường đi từ đỉnh u
tới đỉnh v
(u
khác v
) hay không?
Các cạnh của đồ thị được biểu diễn dưới dạng mảng 2 chiều. Ví dụ:
edges = [[1, 2], [2, 3]]
có nghĩa là có cạnh nối giữa đỉnh 1
và đỉnh 2
, đỉnh 2
và đỉnh 3
.
Ví dụ
- Cho
n = 3, edges = [[1, 2], [2, 3]], u = 1, v = 3
, output sẽ có dạngfindPath(n, edges, u, v) = true.
Giải thích: đường đi từ đỉnh1
tới đỉnh3
có dạng:1 -> 2 -> 3
. - Cho
n = 4, edges = [[1, 2], [3, 4], [2, 4]], u = 1, v = 3
, output sẽ có dạngfindPath(n, edges, u, v) = false.
Giải thích: Từ đỉnh3
chỉ có cạnh đi ra chứ không có cạnh đi vào nên không có đỉnh nào có thể đi tới được đỉnh3
.
Đầu vào/Đầu ra
- [Thời gian chạy] 0.5s
- [Đầu vào] Integer n
- [Đầu vào] Matrix of integers edges
- [Đầu vào] Integer u, v
- [Đầu ra] boolean
Post Comment