LeetCode 743 網路延遲時間 C

2021-08-27 04:05:35 字數 1156 閱讀 2604

n個網路節點,標記為1n

給定乙個列表times,表示訊號經過有向邊的傳遞時間。times[i] = (u, v, w),其中u是源節點,v是目標節點,w是乙個訊號從源節點傳遞到目標節點的時間。

現在,我們向當前的節點k傳送了乙個訊號。需要多久才能使所有節點都收到訊號?如果不能使所有節點收到訊號,返回-1

注意:

n的範圍在[1, 100]之間。

k的範圍在[1, n]之間。

times的長度在[1, 6000]之間。

所有的邊times[i] = (u, v, w)都有1 <= u, v <= n1 <= w <= 100

思路:

先將所有除了起始點的時間設為999999999,然後將初始點的時間設為0,然後開始無限迴圈,核心迴圈內容為:判斷第乙個節點的時間是否為999999999,如果不為,說明已經連通了,將第二個節點的時間變成min(第二個節點的時間,第乙個節點的時間+一二節點直接的時間)。迴圈中止條件:這輪迴圈中沒有任何值有改變。

**:

class solution {

public:

int networkdelaytime(vector>& times, int n, int k) {

vectorv(n+1,999999999);//所有初始時間設為999999999,代表沒有連通

LeetCode 743 網路延遲問題

有 n 個網路節點,標記為 1 到 n。給定乙個列表 times,表示訊號經過有向邊的傳遞時間。times i u,v,w 其中 u 是源節點,v 是目標節點,w 是乙個訊號從源節點傳遞到目標節點的時間。現在,我們從某個節點 k 發出乙個訊號。需要多久才能使所有節點都收到訊號?如果不能使所有節點收到...

LeetCode 743 網路延遲時間

有 n 個網路節點,標記為 1 到 n。給定乙個列表 times,表示訊號經過有向邊的傳遞時間。times i u,v,w 其中 u 是源節點,v 是目標節點,w 是乙個訊號從源節點傳遞到目標節點的時間。現在,我們向當前的節點 k 傳送了乙個訊號。需要多久才能使所有節點都收到訊號?如果不能使所有節點...

LeetCode 743 網路延遲時間

有 n 個網路節點,標記為 1 到 n。給定乙個列表 times,表示訊號經過有向邊的傳遞時間。times i u,v,w 其中 u 是源節點,v 是目標節點,w 是乙個訊號從源節點傳遞到目標節點的時間。現在,我們從某個節點 k 發出乙個訊號。需要多久才能使所有節點都收到訊號?如果不能使所有節點收到...