findUniqueAmongRepeats function
Finds the unique element in a list where every other element appears
exactly repeatCount times.
Assumes exactly one unique element exists.
Works for integers using bitwise operations.
Throws ArgumentError if repeatCount < 2.
Implementation
int findUniqueAmongRepeats(final List<int> list, final int repeatCount) {
if (repeatCount < 2) {
throw ArgumentError('repeatCount must be at least 2');
}
if (list.isEmpty) {
throw RangeError('List cannot be empty');
}
int result = 0;
for (int i = 0; i < 32; i++) {
int sumBits = 0;
for (final int num in list) {
sumBits += (num >> i) & 1;
}
if (sumBits % repeatCount != 0) {
result |= 1 << i;
}
}
return result;
}