Skip to content

Commit 052b9e2

Browse files
authored
Merge pull request neetcode-gh#172 from jktam336/jktam336/684-Redundant-Connection
Added JS 684-Redundant-Connection
2 parents c601de5 + 9d43405 commit 052b9e2

File tree

1 file changed

+39
-0
lines changed

1 file changed

+39
-0
lines changed
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
/**
2+
* @param {number[][]} edges
3+
* @return {number[]}
4+
*/
5+
var findRedundantConnection = function(edges) {
6+
const parents = [];
7+
const rank = new Array(edges.length).fill(1);
8+
for (let i = 0; i < edges.length; i++) {
9+
parents[i] = i;
10+
};
11+
12+
function find(n) {
13+
let parent = parents[n];
14+
while (parent !== parents[parent]) {
15+
parents[parent] = parents[parents[parent]];
16+
parent = parents[parent];
17+
}
18+
return parent;
19+
}
20+
21+
function join(vertex1, vertex2) {
22+
const parent1 = find(vertex1);
23+
const parent2 = find(vertex2);
24+
if (parent1 == parent2) return false;
25+
26+
if (rank[parent1] > rank[parent2]) {
27+
parents[parent2] = parent1;
28+
rank[parent1] += rank[parent2];
29+
} else {
30+
parents[parent1] = parent2;
31+
rank[parent2] += rank[parent1];
32+
};
33+
return true;
34+
};
35+
36+
for (const edge of edges) {
37+
if (!join(edge[0]-1, edge[1]-1)) return edge;
38+
};
39+
};

0 commit comments

Comments
 (0)