← All problems

1207. Unique Number of Occurrences

EasyOpen on LeetCodeProblem statement

Problem Statement

1207. Unique Number of Occurrences

Easy


Given an array of integers arr, return true if the number of occurrences of each value in the array is unique, or false otherwise.

 

Example 1:

Input: arr = [1,2,2,1,1,3]
Output: true
Explanation: The value 1 has 3 occurrences, 2 has 2 and 3 has 1. No two values have the same number of occurrences.

Example 2:

Input: arr = [1,2]
Output: false

Example 3:

Input: arr = [-3,0,1,-3,1,1,1,-3,10,0]
Output: true

 

Constraints:

C++

Source file
class Solution {
public:
    bool uniqueOccurrences(vector<int>& arr) {
        unordered_map <int, int> m1, m2;
        for(auto e: arr)
            m1[e]++;
        for(auto [K, V]: m1)
            if(!m2[V])
                m2[V]=K;
            else return false;
        return true;
    }
};


// class Solution {
// public:
//     bool uniqueOccurrences(vector<int>& arr) {
//         unordered_map <int, int> m;
//         unordered_set <int> s;
//         for(auto e: arr)
//             m[e]++;
//         for(auto e: m)
//             s.insert(e.second);
//         return m.size()==s.size();
//     }
// };