欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【LeetCode】C++ :简单题 - 哈希表 1207. 独一无二的出现次数

程序员文章站 2022-06-23 19:50:20
...

1207. 独一无二的出现次数

难度简单111

给你一个整数数组 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

 

提示:

  • 1 <= arr.length <= 1000
  • -1000 <= arr[i] <= 1000

我会继续努力的!

map存储数字和出现次数,把出现次数放到set中,已存在时直接结束返回false, 直到最后返回true。

class Solution {
public:
    bool uniqueOccurrences(vector<int>& arr) {
        unordered_map<int, int> ump;
        for(auto i: arr){
            ump[i]++;
        }
        unordered_set<int> ust;
        auto it = ump.begin();
        for(it; it != ump.end(); it++){
            if(ust.count(it->second)){
                return false;
            }
            ust.insert(it->second);
        }
        return true;
    }
};