use std::collections::HashSet;
fn find_duplicates(arr: &[i32]) -> Vec<i32> {
let mut seen = HashSet::new();
let mut duplicates = Vec::new();
for &item in arr {
if !seen.insert(item) {
duplicates.push(item);
}
}
duplicates
}
fn main() {
let arr = [1, 2, 3, 2, 2, 4, 4, 4, 4, 3, 5, 6, 3];
let duplicates = find_duplicates(&arr);
println!("Duplicates: {:?}", duplicates);
}
/*
run:
Duplicates: [2, 2, 4, 4, 4, 3, 3]
*/