1
impl Solution {
2
pub fn find_redundant_connection(edges: Vec<Vec<i32>>) -> Vec<i32> {
3
let mut mapper = std::collections::HashMap::new();
4

5
fn parent(node: i32, mapper: &mut std::collections::HashMap<i32, i32>) -> i32 {
6
if !mapper.contains_key(&node) {
7
mapper.insert(node, node);
8
}
9

10
let mut current_node = node;
11
while current_node != *mapper.get(&current_node).unwrap() {
12
current_node = *mapper.get(&current_node).unwrap();
13
}
14

15
return current_node;
16
}
17

18
for edge in edges {
19
let u = edge[0];
20
let v = edge[1];
21

22
let pu = parent(u, &mut mapper);
23
let pv = parent(v, &mut mapper);
24

25
if pu == pv {
26
return vec![u, v];
27
} else {
28
mapper.insert(pv, pu);
29
}
30
}
31

32
return vec![];
33
}
34
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0