1207. 独一无二的出现次数
给你一个整数数组 arr,请你帮忙统计数组中每个数的出现次数。
如果每个数的出现次数都是独一无二的,就返回 true;否则返回 false。
这道题目比较简单,只要集合hash map的数据结构就可以进行求解,具体的C++代码如下:
class Solution {
public:
bool uniqueOccurrences(vector<int>& arr) {
unordered_map<int,int> numMap;
for(const auto& num : arr )
{
numMap[num]++;
}
unordered_set<int> numSet;
for(const auto& num : numMap)
{
numSet.insert(num.second);
}
return numMap.size()==numSet.size();
}
};
相同的思路Python代码如下:
class Solution:
def uniqueOccurrences(self, arr: List[int]) -> bool:
numMap=dict()
for i in arr:
if i not in numMap:
numMap[i]=1
else:
numMap[i]+=1
numSet=set()
for i in numMap:
if numMap[i] not in numSet:
numSet.add(numMap[i])
else:
return False
return True
运行效果:
来源:力扣(LeetCode)链接