https://leetcode.cn/problems/unique-number-of-occurrences/
题目要求
给你一个整数数组 arr,请你帮忙统计数组中每个数的出现次数。
如果每个数的出现次数都是独一无二的,就返回 true;否则返回 false。
Hash
class Solution {
public boolean uniqueOccurrences(int[] arr) {
// int n = arr.length;
// Arrays.sort(arr);
Map<Integer, Integer> map = new HashMap<>();
for (int j : arr) {
map.put(j, map.getOrDefault(j, 0) + 1);
}
Set<Integer> set = new HashSet<>();
for (Integer value : map.values()) {
if (!set.contains(value)) set.add(value);
else return false;
}
return true;
}
}
- 用map来保存数组中数字的出现次数,遍历如果有重复的则返回false,否则返回true;