How to find duplicate elements in an array with Rust

1 Answer

0 votes
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]
 
*/
 

 



answered Oct 26, 2024 by avibootz
...