---
# System prepended metadata

title: LC 1207. Unique Number of Occurrences
tags: [easy, leedcode, python, c++]

---

# LC 1207. Unique Number of Occurrences

### [Problem link](https://leetcode.com/problems/unique-number-of-occurrences/)

###### tags: `leedcode` `python` `c++` `easy`

Given an array of integers <code>arr</code>, return <code>true</code> if the number of occurrences of each value in the array is  **unique**  or <code>false</code> 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:** 

- <code>1 <= arr.length <= 1000</code>
- <code>-1000 <= arr[i] <= 1000</code>

## Solution 1
#### Python
```python=
class Solution:
    def uniqueOccurrences(self, arr: List[int]) -> bool:
        c = Counter(arr)
        occurrences = c.values()

        return len(occurrences) == len(set(occurrences))
```
#### C++
```cpp=
class Solution {
public:
    bool uniqueOccurrences(vector<int>& arr) {
        unordered_map<int, int> occur;
        for (int& a: arr) {
            occur[a]++;
        }
        unordered_set<int> s;
        for (auto& p: occur) {
            s.insert(p.second);
        }
        return occur.size() == s.size();
    }
};
```

>### Complexity
>n = arr.length
>|             | Time Complexity | Space Complexity |
>| ----------- | --------------- | ---------------- |
>| Solution 1  | O(n)            | O(n)             |


## Note
x
