#include <iostream>
#include <vector>
#include <unordered_map>
std::vector<int> getUniqueExcludeDuplicates(const std::vector<int>& vec) {
std::unordered_map<int, int> frequency; // To count occurrences of each number
std::vector<int> result; // To store unique values (exclude duplicates)
// Count frequencies of each number in the vector
for (int num : vec) {
frequency[num]++;
}
// Collect numbers that appear only once
for (int num : vec) {
if (frequency[num] == 1) {
result.push_back(num); // Add to result if it's truly unique
}
}
return result;
}
int main() {
std::vector<int> vec = {1, 2, 3, 5, 8, 3, 1, 1, 0, 6, 5, 7, 3, 1, 4, 9};
// Call the function to exclude duplicates
std::vector<int> uniqueValues = getUniqueExcludeDuplicates(vec);
std::cout << "Unique values (excluding duplicates): ";
for (int num : uniqueValues) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
/*
run:
Unique values (excluding duplicates): 2 8 0 6 7 4 9
*/