🗒️3123. 最短路径中的边
2025-1-13
| 2025-1-13
0  |  阅读时长 0 分钟
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 来遍历路径。

📎 参考

  • 【题单】图论算法
  • 1334. 阈值距离内邻居最少的城市1786. 从第一个节点出发到最后一个节点的受限路径数
    Loading...