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
。环 是指以同一节点开始和结束,并且路径中的每条边仅使用一次。
广度优先遍历
思路:通过广度优先遍历可以找到无权图的最短路径,并且找到重复的访问到的点,就一定是环。
重点:需要注意的是在计算重复访问节点时,需要判断是否是我们来时的路。如果是来时的路,会向上走,不符合逻辑。这是值得注意的。具体做法是,我们可以在添加到队列时,增加一个信息位,保存上一次访问的节点下标(也就是我们从哪里来的)。
📎 参考
- 无