news 2026/9/3 2:48:43

冗余连接问题

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
冗余连接问题

本文参考代码随想录

树可以看成是一个连通且 无环 的 无向 图。

给定往一棵 n 个节点 (节点值 1~n) 的树中添加一条边后的图。添加的边的两个顶点包含在 1 到 n 中间,且这条附加的边不属于树中已存在的边。图的信息记录于长度为 n 的二维数组 edges ,edges[i] = [ai, bi] 表示图中在 ai 和 bi 之间存在一条边。

请找出一条可以删去的边,删除后可使得剩余部分是一个有着 n 个节点的树。如果有多个答案,则返回数组 edges 中最后出现的边

思路

并查集:
那么我们就可以从前向后遍历每一条边(因为优先让前面的边连上),边的两个节点如果不在同一个集合,就加入集合(即:同一个根节点)。如果边的两个节点已经出现在同一个集合里,说明着边的两个节点已经连在一起了,再加入这条边一定就出现环了

classSolution:definit(self,n):self.fathers=[iforiinrange(n+1)]deffind(self,v):ifself.fathers[v]==v:returnvreturnself.find(self.fathers[v])defisSame(self,u,v):returnself.find(u)==self.find(v)defjoin(self,u,v):# u->vu=self.find(u)v=self.find(v)ifu==v:returnself.fathers[u]=vdeffindRedundantConnection(self,edges:List[List[int]])->List[int]:self.init(len(edges))foriinedges:u,v=i[0],i[1]ifself.isSame(u,v):returni self.join(u,v)
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/25 21:50:07

芯片验证工程师的写代码能力不是第一位

很多人以为验证工程师就是搭环境、跑仿真。但这只是表面工作。验证的核心在于发现问题,而不是证明设计正确。举个实际的例子:某个FIFO模块在正常读写测试下运行完美,覆盖率也达到了100%。但有个验证工程师在review代码时问了一句:…

作者头像 李华
网站建设 2026/9/2 22:43:01

【c++进阶】再谈虚函数

关注我,学习c不迷路: 个人主页:爱装代码的小瓶子 专栏如下: c学习Linux学习 后续会更新更多有趣的小知识,关注我带你遨游知识世界 期待你的关注。 文章目录深入探索C虚函数:从编译器视角看多态的“幕后魔法”1. 一…

作者头像 李华
网站建设 2026/9/2 23:31:28

AgentCPM-Explore开源,4B 参数突破端侧智能体模型性能壁垒

当全行业还在争论 30B 能否挑战万亿参数时,我们给出了一个更激进的答案: 4B。没有万亿参数的算力堆砌,没有百万级数据的暴力灌入,清华大学自然语言处理实验室、中国人民大学、面壁智能与 OpenBMB 开源社区联合研发的 AgentCPM-Exp…

作者头像 李华
网站建设 2026/9/2 18:54:01

Proteus使用教程:I2C器件仿真实现指南

在Proteus中玩转I2C仿真:从协议到实战的完整指南你有没有过这样的经历?焊好板子上电,发现EEPROM写不进去数据;调试半天才发现是地址接错了,或者忘了加上拉电阻。更糟的是,IC总线“锁死”,SCL/SD…

作者头像 李华
网站建设 2026/9/2 21:52:22

STM32CubeMX时钟树配置实现工业编码器同步控制示例

用STM32CubeMX构建高精度编码器同步控制系统:从时钟树到闭环控制的实战解析你有没有遇到过这样的问题——明明PID参数调得再好,电机运行却总有点“抖”?位置反馈忽快忽慢,低速时还能接受,一提速就丢步、振荡&#xff0…

作者头像 李华