TypeScript Odd Occurrences In Array
function oddOccurrencesInArray(a: number[]): number | null {
const count = new Map<number, number>();
for (const value of a) {
if (!count.has(value)) {
count.set(value, 1);
} else {
count.delete(value);
}
}
const first = count.keys().next();
return first.done ? null : first.value;
}
This uses XOR to cancel out pairs, leaving only the value that appears an odd number of times.