news 2026/5/22 10:18:29

代码随想录 684.冗余连接

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
代码随想录 684.冗余连接

这道题也是并查集基础题目。

1.并查集可以解决的问题:

(1)判断两个节点是否在一个集合。

(2)将两个节点添加到一个集合中。

2.题目要求:对于一个无向图,返回一条可以删去的边,使得结果图是一个有着N个节点的树(即,只有一个根节点)。如果有多个答案,则返回二维数组中最后出现的边。

3.思路:可以从前向后遍历每一条边(因为优先让前面的边连上),边的两个节点如果不在同一个集合,就加入集合(即同一个根节点)。

(1)如下图所示,节点a和节点b不在同一个集合,那么就可以将两个节点连接在一起。

(2)如果边的两个节点已经出现在同一个集合里,则说明这条边的两个节点已经连在一起了,再加入这条边一定就出现环了,如下图所示。

4.注意:题目已说明该图是在树的基础上添加一条边得到,因此只会有一条冗余边,因此可以在遇到同一个根的两个节点后直接返回即可。

附代码:

class Solution { private int[] p; public int[] findRedundantConnection(int[][] edges) { int n = edges.length; p = new int[n]; for(int i = 0;i < n;i++){ p[i] = i; } for(int i = 0;;i++){ //无限循环,会一直执行到找到冗余边并返回,所以该方法一定有返回值(因为树的性质保证了该方法一定有一条冗余边) //若加上i < n条件,则编译器会认为如果循环内所有if(pa == pb)条件都不满足,那么循环会正常结束,此时循环结束后就没有返回值 //编译器在编译时只做静态代码分析,不执行程序逻辑推理 //编译器认为条件判断里的return只是可能返回,若加上i < n,有限循环中还需要在下面加一个return条件 int pa = find(edges[i][0] - 1); //因为节点编号从1开始,所以要 - 1做数组映射 int pb = find(edges[i][1] - 1); if(pa == pb){ return edges[i]; } p[pa] = pb; } } private int find(int x){ if(p[x] != x){ p[x] = find(p[x]); } return p[x]; } }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/21 4:55:14

14、UNIX/Linux Shell编程实用指南

UNIX/Linux Shell编程实用指南 1. 检测并处理崩溃生成的文件 在程序崩溃时,有时会生成一个名为 core 的文件,这个文件通常很大,往往需要将其删除。下面我们将编写一个脚本,每分钟检查一次主目录中是否生成了 core 文件,如果生成了,就在终端输出警告信息并终止脚本。…

作者头像 李华
网站建设 2026/5/9 5:00:53

自然语言处理容易混淆知识点(一)c-TF-IDF和TF-IDF的区别

c-TF-IDF 和 TF-IDF 什么是 c-TF-IDF&#xff1f;传统 TF-IDFc-TF-IDF&#xff08;基于类的 TF-IDF&#xff09; c-TF-IDF 的计算公式直观理解在 BERTopic 中的工作流程代码示例&#xff1a;使用 c-TF-IDF与传统 TF-IDF 对比c-TF-IDF 的优势自定义 c-TF-IDF 参数可视化 c-TF-ID…

作者头像 李华
网站建设 2026/5/21 19:18:20

AI时代裁员潮真相:是AI夺走了工作,还是企业转型的必然?

简介 文章探讨了科技行业裁员潮中AI的真实角色。AI虽提高效率降低成本&#xff0c;但经济下行、过度扩张和市场竞争也是重要因素。企业正进行战略转型&#xff0c;将资源从传统业务转向AI领域&#xff0c;这不仅是成本削减&#xff0c;更是人才结构重构。AI带来的是劳动力转型&…

作者头像 李华
网站建设 2026/5/13 17:09:21

GEO 3小问:一文搞懂 AI 搜索时代的 “品牌曝光关键”

1. 问&#xff1a;到底什么是 GEO&#xff1f;和传统搜索优化不一样吗&#xff1f;答&#xff1a;GEO 全称 “AI 搜索优化”&#xff0c;核心是让品牌精准出现在用户用 AI 提问的答案里 —— 比如用户问 AI “北京靠谱的装修公司”“国产好口碑奶粉”&#xff0c;GEO 能让你的品…

作者头像 李华
网站建设 2026/5/22 9:05:53

5、VXLAN与BGP EVPN的融合:数据中心网络的优化方案

VXLAN与BGP EVPN的融合&#xff1a;数据中心网络的优化方案1. VXLAN的优势与不足在当今的数据中心环境中&#xff0c;支持软件和硬件VTEP&#xff08;虚拟隧道端点&#xff09;的混合环境已成为常态。VXLAN&#xff08;虚拟可扩展局域网&#xff09;为解决网络扩展性差、增强网…

作者头像 李华
网站建设 2026/5/22 4:01:22

11、数据中心网络底层路由与多播流量处理解析

数据中心网络底层路由与多播流量处理解析1. 网络维护时的隔离操作在网络维护或其他可能造成干扰的操作期间&#xff0c;可通过关闭与网络虚拟边缘&#xff08;NVE&#xff09;或虚拟隧道端点&#xff08;VTEP&#xff09;关联的第一个环回接口&#xff0c;从底层路由的角度隔离…

作者头像 李华