Rust Odd Occurrences In Array
use std::collections::HashMap;
fn odd_occurrences_in_array(a: &[i64]) -> Option<i64> {
let mut count: HashMap<i64, bool> = HashMap::new();
for &value in a {
if count.contains_key(&value) {
count.remove(&value);
} else {
count.insert(value, true);
}
}
count.keys().next().copied()
}
This uses XOR to cancel out pairs, leaving only the value that appears an odd number of times.