use std::collections::HashMap;
// Function to count the frequency of each number
fn count_frequency(nums: &[i32]) -> HashMap<i32, usize> {
let mut freq = HashMap::new();
for &num in nums {
*freq.entry(num).or_insert(0) += 1;
}
freq
}
// Function to collect elements that appear only once
fn filter_unique(nums: &[i32], freq: &HashMap<i32, usize>) -> Vec<i32> {
nums.iter()
.filter(|&&num| freq.get(&num) == Some(&1))
.cloned()
.collect()
}
fn main() {
let vector = vec![3, 5, 9, 1, 7, 8, 1, 9, 0, 3, 9];
let freq = count_frequency(&vector);
let mut unique = filter_unique(&vector, &freq);
unique.sort();
println!("{:?}", unique);
}
/*
run:
[0, 5, 7, 8]
*/