力扣 743 網路延遲

2021-10-03 07:33:39 字數 1573 閱讀 2232

有 n 個網路節點,標記為 1 到 n。

給定乙個列表 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 <= n 且 0 <= w <= 100。

class

solution

void

put(

int key,

int value)

intget

(int key)

boolean

containskey

(int key)

void

remove

(int key)

}//索引最小堆

class

minheap

private

void

swap

(int p1,

int p2)

private

void

sink

(int pos)

map.

put(heap[pos]

.end,pos);}

private

void

swim

(int pos)

map.

put(heap[pos]

.end,pos);}

public

void

add(

int end,

int weight)

public edge delmin()

public

void

change

(int vertex,

int weight)

public

boolean

isempty()

}class

edge

}public

class

graph

public

void

addedge

(int v1,

int v2,

int w)

}private graph build

(int

times,

int n)

class

dijkstra

}private

void

relax

(int v)}}

}public

intnetworkdelaytime

(int

times,

int n,

int k)

return res;

}}

743 網路延遲時間

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

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 發出乙個訊號。需要多久才能使所有節點都收到訊號?如果不能使所有節點收到...