

class Solution
{
public://并查集 基本步骤 初始化 并 查 判断int n=1001;int father[1001];//并查集初始化void init(){for(int i=0;ifather[i]=i;}}//并查集查找int find(int u){return u==father[u] ? u : find(father[u]);}//并查集合并void join(int u,int v){u=find(u);v=find(v);if(u==v) return;//说明根相同 无需合并else{father[v]=u;}}//并查集判断是否 根相同bool same(int u,int v){u=find(u);v=find(v);return u==v;}vector findRedundantConnection(vector>& edges) {int i,j;init();for(i=0;iif(same(edges[i][0],edges[i][1])) return edges[i];else{join(edges[i][0],edges[i][1]);}}return {};}
};
