链接
https://leetcode-cn.com/problems/unique-number-of-occurrences/
耗时
解题:22 min
题解:4 min
题意
给你一个整数数组 arr,请你帮忙统计数组中每个数的出现次数。
如果每个数的出现次数都是独一无二的,就返回 true;否则返回 false。
思路
两个哈希表,一个用来离散统计出现次数,第二个测试出现次数是否独一无二。
时间复杂度: O ( n ) O(n) O(n)
AC代码
class Solution {
public:
bool uniqueOccurrences(vector<int>& arr) {
unordered_map<int, int> count;
for(auto x : arr) {
count[x]++;
}
unordered_set<int> check;
for(auto c : count) {
if(check.find(c.second) != check.end()) return false;
check.insert(c.second);
}
return true;
}
};