并查集
class Solution {
public:
int Find[1005];
int check(int k) {
if (k == Find[k]) {
return k;
}
return Find[k] = check(Find[k]);
}
vector<int> findRedundantConnection(vector<vector<int>>& edges) {
for (int i = 1; i <= 1000; i++) {
Find[i] = i;
}
for (int i = 0; i < edges.size(); i++) {
int x = edges[i][0], y = edges[i][1];
if (check(x) == check(y)) {
return edges[i];
}
Find[check(x)] = check(y);
}
return edges[0];
}
};