use std::collections::HashMap;
fn get_unique_exclude_duplicates(v: Vec<i32>) -> Vec<i32> {
let mut frequency: HashMap<i32, i32> = HashMap::new();
// Count occurrences of each number
for &num in &v {
*frequency.entry(num).or_insert(0) += 1;
}
// Collect numbers that appear only once
let result: Vec<i32> = v.into_iter()
.filter(|&num| frequency[&num] == 1)
.collect();
result
}
fn main() {
let v = vec![1, 2, 3, 5, 8, 3, 1, 1, 0, 6, 5, 7, 3, 1, 4, 9];
let unique_values = get_unique_exclude_duplicates(v);
println!(
"Unique values (excluding duplicates): {}",
unique_values.iter().map(|x| x.to_string()).collect::<Vec<String>>().join(" ")
);
}
/*
run:
Unique values (excluding duplicates): 2 8 0 6 7 4 9
*/