mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-06 15:09:40 +08:00
Merge pull request #2720 from sunlight0602/047-dijkstra-typo
feat: 0094 bellman-ford python solution
This commit is contained in:
@ -451,6 +451,33 @@ public class Main {
|
|||||||
```
|
```
|
||||||
|
|
||||||
### Python
|
### Python
|
||||||
|
```Python
|
||||||
|
def main():
|
||||||
|
n, m = map(int, input().strip().split())
|
||||||
|
edges = []
|
||||||
|
for _ in range(m):
|
||||||
|
src, dest, weight = map(int, input().strip().split())
|
||||||
|
edges.append([src, dest, weight])
|
||||||
|
|
||||||
|
minDist = [float("inf")] * (n + 1)
|
||||||
|
minDist[1] = 0 # 起点处距离为0
|
||||||
|
|
||||||
|
for i in range(1, n):
|
||||||
|
updated = False
|
||||||
|
for src, dest, weight in edges:
|
||||||
|
if minDist[src] != float("inf") and minDist[src] + weight < minDist[dest]:
|
||||||
|
minDist[dest] = minDist[src] + weight
|
||||||
|
updated = True
|
||||||
|
if not updated: # 若边不再更新,即停止回圈
|
||||||
|
break
|
||||||
|
|
||||||
|
if minDist[-1] == float("inf"): # 返还终点权重
|
||||||
|
return "unconnected"
|
||||||
|
return minDist[-1]
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
print(main())
|
||||||
|
```
|
||||||
|
|
||||||
### Go
|
### Go
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user