news 2026/5/10 14:19:16

冗余连接问题

作者头像

张小明

前端开发工程师

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/5/1 15:51:59

AI SaaS产品的数据管道架构:实时处理方案

AI SaaS产品的数据管道架构:实时处理方案关键词:AI SaaS产品、数据管道架构、实时处理、数据流动、架构设计摘要:本文聚焦于AI SaaS产品的数据管道架构实时处理方案。首先介绍了相关背景知识,让大家明白为什么要关注实时处理以及预…

作者头像 李华
网站建设 2026/5/10 3:32:15

FileMasterPro v1.2.5:全能多功能文件管理工具

FileMasterPro v1.2.5 是专为 Windows 系统打造的专业文件管理工具,集成极速搜索、加密保险箱、智能整理、批量重命名及重复文件查重等核心功能,兼顾安全性与便捷性,轻松解决个人及办公场景中的海量文件管理难题。快速搜索与结果筛选作为高效…

作者头像 李华
网站建设 2026/5/3 8:50:57

嵌入式系统前级验证:Multisim仿真信号完整性分析

用Multisim提前“预演”信号问题:嵌入式系统前级验证实战指南你有没有遇到过这样的场景?PCB板子刚回来,焊上芯片一通电,发现ADC读数跳得像心电图,SPI通信时不时丢包,MCU莫名其妙复位……查来查去&#xff0…

作者头像 李华
网站建设 2026/5/1 5:58:19

基于STM32F4的GPIO初始化STM32CubeMX教程实战案例

从零开始点亮LED:STM32F4 STM32CubeMX实战入门指南你有没有过这样的经历?手头一块崭新的STM32F4开发板,USB线插上,IDE打开,却卡在第一步——怎么让一个最简单的LED闪烁起来?别急。这并不是你基础差&#x…

作者头像 李华