🗒️2608. 图中的最短环
2025-1-7
| 2025-1-7
0  |  阅读时长 0 分钟
type
status
date
slug
summary
tags
category
icon
password
创建时间
Jan 7, 2025 02:14 AM
现有一个含 n 个顶点的 双向 图,每个顶点按从 0 到 n - 1 标记。图中的边由二维整数数组 edges 表示,其中 edges[i] = [ui, vi] 表示顶点 ui 和 vi 之间存在一条边。每对顶点最多通过一条边连接,并且不存在与自身相连的顶点。
返回图中 最短 环的长度。如果不存在环,则返回 -1 。
 是指以同一节点开始和结束,并且路径中的每条边仅使用一次。

广度优先遍历

思路:通过广度优先遍历可以找到无权图的最短路径,并且找到重复的访问到的点,就一定是环。
💡
重点:需要注意的是在计算重复访问节点时,需要判断是否是我们来时的路。如果是来时的路,会向上走,不符合逻辑。这是值得注意的。具体做法是,我们可以在添加到队列时,增加一个信息位,保存上一次访问的节点下标(也就是我们从哪里来的)。

📎 参考

  • 【题单】图论算法
  • 1462. 课程表 IV210. 课程表 II
    Loading...