1207. 独一无二的出现次数

题目:https://leetcode-cn.com/problems/unique-number-of-occurrences/

代码:

class Solution {

    public boolean uniqueOccurrences(int[] arr) {
        //使用map统计每个数字出现的次数
        Map<Integer, Integer> map = new HashMap<>();
        for (Integer i : arr) {
            if (map.containsKey(i)) {
                map.put(i, map.get(i) + 1);
            }else{
                map.put(i, 0);
            }
        }
        //使用set对map的value去重,判断各个数字出现次数是否唯一
        Set<Integer> set = new HashSet<>(map.values());
        return map.size() == set.size();
    }

}

通过map统计每个数字出现的次数,key为数字,value为次数。然后通过set对value去重,判断去重后的set的size和map的size是否一样即可知道value值是否有重复的,继而得到答案。