news 2026/6/9 23:21:50

图中最短环bfs

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
图中最短环bfs

最短 等边权 显然bfs

lc2308

以是否在队列里 为判断条件

归为 最小路径树

dfs实现第二次遇到的设计 fa

auto [x, fa] = q.front()

if (dis[y]>=0 && y != fa) // 第二次遇到

ans = min(ans, dis[x] + dis[y] + 1);

class Solution {
public:
int findShortestCycle(int n, vector<vector<int>> &edges) {
vector<vector<int>> g(n);
for (auto &e: edges) {
int x = e[0], y = e[1];
g[x].push_back(y);
g[y].push_back(x); // 建图
}

int dis[n];

// dis[i] 表示从 start 到 i 的最短路长度
auto bfs = [&](int start) -> int {
int ans = INT_MAX;
memset(dis, -1, sizeof(dis));
dis[start] = 0;
queue<pair<int, int>> q;
q.emplace(start, -1);
while (!q.empty()) {
auto [x, fa] = q.front();
q.pop();
for (int y: g[x])
if (dis[y] < 0) { // 第一次遇到
dis[y] = dis[x] + 1;
q.emplace(y, x);
}else if (y != fa) // 第二次遇到
ans = min(ans, dis[x] + dis[y] + 1);

}
return ans;
};
int ans = INT_MAX;
for (int i = 0; i < n; ++i) // 枚举每个起点跑 BFS
ans = min(ans, bfs(i));
return ans < INT_MAX ? ans : -1;
}
};

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/5 15:04:07

【课程设计/毕业设计】基于Spring Boot的体育购物商城系统基于springboot的运动用品商城系统【附源码、数据库、万字文档】

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/6/5 3:26:05

python146- 建筑工程项目任务分配管理系统vue3

目录 建筑工程项目任务分配管理系统&#xff08;Vue3&#xff09;摘要核心功能技术栈扩展性 开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01; 建筑工程项目任务分配管理系统&#xff08;Vue3…

作者头像 李华
网站建设 2026/6/5 21:21:24

基于python的农业农产品收成销售管理系统vue3

目录 系统概述核心功能模块技术实现要点扩展性与安全性 开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01; 系统概述 基于Python和Vue3的农业农产品收成销售管理系统是一个现代化农业管理平台…

作者头像 李华
网站建设 2026/6/5 21:08:16

前端萌新别慌:30分钟搞懂CSS @keyframes动画(附实战代码)

前端萌新别慌&#xff1a;30分钟搞懂CSS keyframes动画&#xff08;附实战代码&#xff09;前端萌新别慌&#xff1a;30分钟搞懂CSS keyframes动画&#xff08;附实战代码&#xff09;从零开始认识keyframes动手写第一个keyframes动画常见翻车现场和急救包进阶骚操作合集那些年…

作者头像 李华
网站建设 2026/6/5 20:13:38

竞品词怎么投不翻车:一套低风险“抢量”打法(亚马逊可落地)

投竞品词是很多团队最容易“上头”的环节&#xff1a;看到竞品品牌词流量大&#xff0c;就想硬抢&#xff1b;结果 CPC 飙升、转化很差、ACOS 爆炸&#xff0c;还把自己的账户权重拖下水。 竞品词能不能投&#xff1f;能。关键在于&#xff1a;别把它当“精准收割”&#xff0…

作者头像 李华