Skip to content

Commit a616539

Browse files
authored
Merge pull request #859 from MaratKhakim/684-Redundant-Connection-GO
GO: 684. Redundant Connection
2 parents 501c7dc + 0e46da9 commit a616539

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

go/684-Redundant-Connection.go

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
func findRedundantConnection(edges [][]int) []int {
2+
parent := make([]int, len(edges)+1)
3+
4+
for i := 0; i < len(parent); i++ {
5+
parent[i] = i
6+
}
7+
8+
for _, edge := range edges {
9+
if find(parent, edge[0]) == find(parent, edge[1]) {
10+
return edge
11+
}
12+
13+
unify(parent, edge[0], edge[1])
14+
}
15+
16+
return []int{}
17+
}
18+
19+
func find(parent []int, num int) int {
20+
if parent[num] == num {
21+
return num
22+
}
23+
24+
return find(parent, parent[num])
25+
}
26+
27+
func unify(parent []int, x, y int) {
28+
parent[find(parent, y)] = find(parent, x)
29+
}
30+

0 commit comments

Comments
 (0)