题目: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值是否有重复的,继而得到答案。