链接
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;
}
};

本文介绍了一种高效解决LeetCode上独特元素出现次数问题的方法。通过使用两个哈希表来分别统计元素出现频率及验证这些频率是否唯一,最终实现O(n)的时间复杂度。文章提供了一个简洁的C++代码示例。
(模拟)简单&spm=1001.2101.3001.5002&articleId=109326594&d=1&t=3&u=2cb67bc4df5f443ba1b1e616df40022a)
709

被折叠的 条评论
为什么被折叠?



