every number is coming thrice except one

#include <iostream>
#include <unordered_map>

int findSingleNumber(int arr[], int n) {
    std::unordered_map<int, int> countMap;

    for (int i = 0; i < n; i++) {
        countMap[arr[i]]++;
    }

    for (auto it = countMap.begin(); it != countMap.end(); it++) {
        if (it->second == 1) {
            return it->first;
        }
    }

    return -1;
}

int main() {
    int arr[] = {1, 2, 3, 4, 3, 2, 1, 5, 5};
    int n = sizeof(arr) / sizeof(arr[0]);

    int result = findSingleNumber(arr, n);

    std::cout << "The number occurring only once is: " << result << std::endl;

    return 0;
}