Solución
solution.tsTypeScript
def bellman_ford(n: int, edges: list[list[int]], src: int) -> list[int] | None:
infinity: float = float('inf')
distances: list[float] = [infinity] * n
distances[src] = 0
for _ in range(~-n):
for u, v, w in edges:
if distances[u] != infinity and distances[u] + w < distances[v]:
distances[v] = distances[u] + w
for u, v, w in edges:
if distances[u] != infinity and distances[u] + w < distances[v]:
return None
result: list[float] = [dist if dist != infinity else -1 for dist in distances]
return result0respuestas