We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent f389ff7 commit aa04a15Copy full SHA for aa04a15
C++/network-delay-time.cpp
@@ -15,17 +15,26 @@ class Solution {
15
16
int result = 0;
17
unordered_set<int> lookup;
18
+ unordered_map<int, int> best;
19
priority_queue<P, vector<P>, greater<P>> min_heap;
20
min_heap.emplace(0, K - 1);
21
while (!min_heap.empty() && lookup.size() != N) {
22
int u;
23
tie(result, u) = min_heap.top(); min_heap.pop();
24
lookup.emplace(u);
25
+ if (best.count(u) &&
26
+ best[u] < result) {
27
+ continue;
28
+ }
29
for (const auto& kvp : adj[u]) {
30
int v, w;
31
tie(v, w) = kvp;
32
if (lookup.count(v)) continue;
- min_heap.emplace(result + w, v);
33
+ if (!best.count(v) ||
34
+ result + w < best[v]) {
35
+ best[v] = result + w;
36
+ min_heap.emplace(result + w, v);
37
38
}
39
40
return lookup.size() == N ? result : -1;
0 commit comments