type
status
date
slug
summary
tags
category
icon
password
创建时间
Jan 13, 2025 03:18 AM
给你一个
n
个节点的无向带权图,节点编号为 0
到 n - 1
。图中总共有 m
条边,用二维数组 edges
表示,其中 edges[i] = [ai, bi, wi]
表示节点 ai
和 bi
之间有一条边权为 wi
的边。对于节点
0
为出发点,节点 n - 1
为结束点的所有最短路,你需要返回一个长度为 m
的 boolean 数组 answer
,如果 edges[i]
至少 在其中一条最短路上,那么 answer[i]
为 true
,否则 answer[i]
为 false
。请你返回数组
answer
。注意,图可能不连通。
Dijkstra 算法 + BFS
思路:先通过 Dijkstra 算法找到节点 n 到其他点的最短路径长度。接着,通过 BFS 找到满足条件的,从节点 0 到节点 n 的可行最短路径。
一开始,想到了使用 Dijkstra 算法找到最短路径长度,但是之后如何求解最短路径,遇到了思路的问题。思路有点太局限了,没想到使用 DFS 或者 BFS 来遍历路径。