LeetCode 1207 独一无二的出现次数
LeetCode 1207 独一无二的出现次数
问题描述:
给你一个整数数组 arr,请你帮忙统计数组中每个数的出现次数。
如果每个数的出现次数都是独一无二的,就返回 true;否则返回 false。
Map+Set
执行用时:2 ms, 在所有 Java 提交中击败了91.43%的用户
内存消耗:36 MB, 在所有 Java 提交中击败了97.92%的用户
class Solution {
public boolean uniqueOccurrences(int[] arr) {
if(arr==null || arr.length==0) {
return false;
}
//hashmap统计
HashMap<Integer, Integer> hashMap = new HashMap<>();
for(int num: arr) {
hashMap.put(num, hashMap.getOrDefault(num, 0)+1);
}
//查找是否存在重复
Set<Integer> hashSet = new HashSet<>();
for(Integer num: hashMap.values()) {
if(hashSet.isEmpty() || !hashSet.contains(num)) {
hashSet.add(num);
}
else {
return false;
}
}
return true;
}
}