Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 246e49d

Browse files
authored
Create 743-Network-Delay-Time.py
1 parent 765beb9 commit 246e49d

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

743-Network-Delay-Time.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
class Solution:
2+
def networkDelayTime(self, times: List[List[int]], n: int, k: int) -> int:
3+
edges = collections.defaultdict(list)
4+
for u, v, w in times:
5+
edges[u].append((v, w))
6+
7+
minHeap = [(0, k)]
8+
visit = set()
9+
t = 0
10+
while minHeap:
11+
w1, n1 = heapq.heappop(minHeap)
12+
if n1 in visit:
13+
continue
14+
visit.add(n1)
15+
t = max(t, w1)
16+
17+
for n2, w2 in edges[n1]:
18+
if n2 not in visit:
19+
heapq.heappush(minHeap, (w1 + w2, n2))
20+
return t if len(visit) == n else -1
21+
22+
# O(E * logV)

0 commit comments

Comments
 (0)