题目
给你一个整数数组 arr,请你帮忙统计数组中每个数的出现次数。
如果每个数的出现次数都是独一无二的,就返回 true;否则返回 false。
示例 1:
输入:arr = [1,2,2,1,1,3] 输出:true 解释:在该数组中,1 出现了 3 次,2 出现了 2 次,3 只出现了 1 次。没有两个数的出现次数相同。
示例 2:
输入:arr = [1,2] 输出:false
示例 3:
输入:arr = [-3,0,1,-3,1,1,1,-3,10,0] 输出:true
解题
方法一:哈希
class Solution { public: bool uniqueOccurrences(vector<int>& arr) { unordered_map<int,int> mp; for(int num:arr){ mp[num]++; } unordered_set<int> set; for(auto& it:mp){ if(set.count(it.second)) return false; set.insert(it.second); } return true; } };