题目:给你一个整数数组arr,请你帮忙统计数组中每个数的出现次数。
如果每个数的出现次数都是独一无二的,就返回true;否则返回false。
解题思路:使用哈希表记录每个数字的出现次数;随后再利用新的哈希表,统计不同的出现次数的数目。如果不同的出现次数的数目等于不同数字的数目,则返回true,否则返回false。
class Solution{ public boolean uniqueOccurrences(int[] arr){ Map<Integer,Integer>occur=new HashMap<Integer,Integer>(); for(int x:arr){ occur.put(x,occur.getOrDrfault(x,0)+1); } Set<Integer>times=new HashSet<Integer>(); for(Map.Entry<Integer,Integer>x:occur.entrySet()){ times.add(x.getValue()); } return times.size()==occur.size(); } }