1207. 独一无二的出现次数
1207. 独一无二的出现次数
方法一:哈希表
第一步都是要先计算每个数出现的次数。后面的只需要判断这个出现次数的数组中元素是否有重复的即可。
我们知道集合Set是不能有重复元素的,如果有就会替换掉,我们可以把出现次数的数组放到集合Set中,如果有重复的就会被替换掉,那么Set的大小肯定和出现次数的数组长度不一样。
以下解法,将Set替换成了一个整型数组,解法类似。
// 执行耗时:2 ms,击败了91.43% 的Java用户
// 内存消耗:37.9 MB,击败了13.04% 的Java用户
class Solution {
public boolean uniqueOccurrences(int[] arr) {
HashMap<Integer, Integer> hashMap = new HashMap<>();
// HashSet<Integer> hashSet = new HashSet<>();
int[] cnt = new int[1001];
for(int num:arr){
hashMap.put(num, hashMap.getOrDefault(num, 0)+1);
}
for(int num:hashMap.values()){
if(cnt[num] == 1){
return false;
} else {
cnt[num]++;
}
}
return true;
}
}

浙公网安备 33010602011771号