dsalgo/
connected_components_group_by_id.rs

1pub fn group_by_id(ids: Vec<usize>) -> Vec<Vec<usize>> {
2    let k = ids.iter().max().unwrap() + 1;
3
4    let mut comp = vec![vec![]; k];
5
6    for (u, id) in ids.into_iter().enumerate() {
7        comp[id].push(u);
8    }
9
10    comp
11}