Skip to content

Commit 67e86e5

Browse files
author
Chris Wu
committed
no message
1 parent 0441347 commit 67e86e5

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

problems/network-delay-time.py

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,3 +53,28 @@ def networkDelayTime(self, times, N, K):
5353

5454
return max(dis.values()) if len(dis)==N else -1 #[5]
5555

56+
57+
#2020/10/17
58+
class Solution(object):
59+
def networkDelayTime(self, times, N, K):
60+
ans = float('-inf')
61+
h = [(0, K)]
62+
visited = set()
63+
G = collections.defaultdict(list)
64+
65+
for u, v, w in times:
66+
G[u].append((v, w))
67+
68+
while h:
69+
time, node = heapq.heappop(h)
70+
71+
if node in visited: continue
72+
visited.add(node)
73+
ans = max(ans, time)
74+
75+
if len(visited)==N: return time
76+
for nei, time_to_nei in G[node]:
77+
heapq.heappush(h, (time+time_to_nei, nei))
78+
79+
return -1
80+

0 commit comments

Comments
 (0)