Skip to content

Commit 4373f60

Browse files
authored
Update minimum-cost-to-convert-string-ii.cpp
1 parent a202a41 commit 4373f60

File tree

1 file changed

+18
-6
lines changed

1 file changed

+18
-6
lines changed

C++/minimum-cost-to-convert-string-ii.cpp

+18-6
Original file line numberDiff line numberDiff line change
@@ -112,10 +112,14 @@ class Solution2 {
112112
const auto& floydWarshall = [](auto& dist) {
113113
for (int k = 0; k < size(dist); ++k) {
114114
for (int i = 0; i < size(dist); ++i) {
115+
if (dist[i][k] == INF) {
116+
continue;
117+
}
115118
for (int j = 0; j < size(dist[0]); ++j) {
116-
if (dist[i][k] != INF && dist[k][j] != INF) {
117-
dist[i][j] = min(dist[i][j], dist[i][k] + dist[k][j]);
119+
if (dist[k][j] == INF) {
120+
continue;
118121
}
122+
dist[i][j] = min(dist[i][j], dist[i][k] + dist[k][j]);
119123
}
120124
}
121125
}
@@ -288,10 +292,14 @@ class Solution4 {
288292
const auto& floydWarshall = [](auto& dist) {
289293
for (const auto& [k, _] : dist) {
290294
for (const auto& [i, _] : dist) {
295+
if (dist[i][k] == INF) {
296+
continue;
297+
}
291298
for (const auto& [j, _] : dist) {
292-
if (dist[i][k] != INF && dist[k][j] != INF) {
293-
dist[i][j] = min(dist[i][j], dist[i][k] + dist[k][j]);
299+
if (dist[k][j] == INF) {
300+
continue;
294301
}
302+
dist[i][j] = min(dist[i][j], dist[i][k] + dist[k][j]);
295303
}
296304
}
297305
}
@@ -564,10 +572,14 @@ class Solution6 {
564572
const auto& floydWarshall = [](auto& dist) {
565573
for (const auto& [k, _] : dist) {
566574
for (const auto& [i, _] : dist) {
575+
if (dist[i][k] == INF) {
576+
continue;
577+
}
567578
for (const auto& [j, _] : dist) {
568-
if (dist[i][k] != INF && dist[k][j] != INF) {
569-
dist[i][j] = min(dist[i][j], dist[i][k] + dist[k][j]);
579+
if (dist[k][j] == INF) {
580+
continue;
570581
}
582+
dist[i][j] = min(dist[i][j], dist[i][k] + dist[k][j]);
571583
}
572584
}
573585
}

0 commit comments

Comments
 (0)