#include <vector>
#include <iostream>
#include <algorithm> // Required for count()
using namespace std;
vector<int> oddOnesOut(const vector<int>& numbers) {
vector<int> ans;
for(auto& num : numbers) {
if(count(numbers.begin(), numbers.end(), num) % 2 == 0) {
ans.push_back(num);
}
}
return ans;
}
int main() {
// Test cases
vector<int> test1 = {1, 2, 3, 1, 3, 3};
vector<int> test2 = {1, 1, 2, 2, 3, 3, 4, 4};
vector<int> test3 = {1, 2, 2, 3, 3, 3, 4, 4, 4, 4};
auto printVector = [](const vector<int>& v) {
cout << "{ ";
for(int num : v) cout << num << " ";
cout << "}";
};
// Test 1
vector<int> result1 = oddOnesOut(test1);
cout << "Test 1: Input "; printVector(test1);
cout << " => Output "; printVector(result1);
cout << endl; // Expected: {1 1}
// Test 2
vector<int> result2 = oddOnesOut(test2);
cout << "Test 2: Input "; printVector(test2);
cout << " => Output "; printVector(result2);
cout << endl; // Expected: {1 1 2 2 3 3 4 4}
// Test 3
vector<int> result3 = oddOnesOut(test3);
cout << "Test 3: Input "; printVector(test3);
cout << " => Output "; printVector(result3);
cout << endl; // Expected: {2 2 4 4 4 4}
return 0;
}
I2luY2x1ZGUgPHZlY3Rvcj4KI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YWxnb3JpdGhtPiAvLyBSZXF1aXJlZCBmb3IgY291bnQoKQp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdmVjdG9yPGludD4gb2RkT25lc091dChjb25zdCB2ZWN0b3I8aW50PiYgbnVtYmVycykgewogIHZlY3RvcjxpbnQ+IGFuczsKICBmb3IoYXV0byYgbnVtIDogbnVtYmVycykgewogICAgaWYoY291bnQobnVtYmVycy5iZWdpbigpLCBudW1iZXJzLmVuZCgpLCBudW0pICUgMiA9PSAwKSB7CiAgICAgIGFucy5wdXNoX2JhY2sobnVtKTsKICAgIH0KICB9CiAgcmV0dXJuIGFuczsKfQoKaW50IG1haW4oKSB7CiAgLy8gVGVzdCBjYXNlcwogIHZlY3RvcjxpbnQ+IHRlc3QxID0gezEsIDIsIDMsIDEsIDMsIDN9OwogIHZlY3RvcjxpbnQ+IHRlc3QyID0gezEsIDEsIDIsIDIsIDMsIDMsIDQsIDR9OwogIHZlY3RvcjxpbnQ+IHRlc3QzID0gezEsIDIsIDIsIDMsIDMsIDMsIDQsIDQsIDQsIDR9OwogIAogIGF1dG8gcHJpbnRWZWN0b3IgPSBbXShjb25zdCB2ZWN0b3I8aW50PiYgdikgewogICAgY291dCA8PCAieyAiOwogICAgZm9yKGludCBudW0gOiB2KSBjb3V0IDw8IG51bSA8PCAiICI7CiAgICBjb3V0IDw8ICJ9IjsKICB9OwogIAogIC8vIFRlc3QgMQogIHZlY3RvcjxpbnQ+IHJlc3VsdDEgPSBvZGRPbmVzT3V0KHRlc3QxKTsKICBjb3V0IDw8ICJUZXN0IDE6IElucHV0ICI7IHByaW50VmVjdG9yKHRlc3QxKTsgCiAgY291dCA8PCAiID0+IE91dHB1dCAiOyBwcmludFZlY3RvcihyZXN1bHQxKTsKICBjb3V0IDw8IGVuZGw7ICAvLyBFeHBlY3RlZDogezEgMX0KICAKICAvLyBUZXN0IDIKICB2ZWN0b3I8aW50PiByZXN1bHQyID0gb2RkT25lc091dCh0ZXN0Mik7CiAgY291dCA8PCAiVGVzdCAyOiBJbnB1dCAiOyBwcmludFZlY3Rvcih0ZXN0Mik7CiAgY291dCA8PCAiID0+IE91dHB1dCAiOyBwcmludFZlY3RvcihyZXN1bHQyKTsKICBjb3V0IDw8IGVuZGw7ICAvLyBFeHBlY3RlZDogezEgMSAyIDIgMyAzIDQgNH0KICAKICAvLyBUZXN0IDMKICB2ZWN0b3I8aW50PiByZXN1bHQzID0gb2RkT25lc091dCh0ZXN0Myk7CiAgY291dCA8PCAiVGVzdCAzOiBJbnB1dCAiOyBwcmludFZlY3Rvcih0ZXN0Myk7CiAgY291dCA8PCAiID0+IE91dHB1dCAiOyBwcmludFZlY3RvcihyZXN1bHQzKTsKICBjb3V0IDw8IGVuZGw7ICAvLyBFeHBlY3RlZDogezIgMiA0IDQgNCA0fQogIAogIHJldHVybiAwOwp9