684. 冗余连接(leetcode)
https://leetcode.cn/problems/redundant-connection/
class Solution {
public int[] findRedundantConnection(int[][] edges) {
// 思路:遍历边,不断的加入相连的点到集合中,直到遍历到同在一集合的两个顶点位置,这个边就可以是答案
init(edges.length);
for(int[] edge:edges)
{
int a=edge[0],b=edge[1];
if(find(a)==find(b))
{
return edge;
}
else union(a,b);
}
return null;
}
int[] p;
void init(int n)
{
p=new int[n+1];
for(int i=0;i<n;i++)p[i]=i;
}
int find(int x)
{
return x==p[x] ? x:(p[x]=find(p[x]));
}
void union(int x,int y)
{
p[find(x)]=find(y);
}
}
分类:
算法 / leetcode
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?