- Уникальное количество вхождений
Дайте вам целочисленный массив arr, пожалуйста, помогите подсчитать количество вхождений каждого числа в массиве.
Если количество вхождений каждого числа уникально, верните true; в противном случае верните false.
Пример 1:
Ввод: arr = [1,2,2,1,1,3]
Вывод: true
Объяснение: В массиве 1 появляется 3 раза, 2 появляется 2 раза, а 3 появляется только один раз. Нет двух чисел, которые встречаются с одинаковым количеством случаев.
Пример 2:
Вход: arr = [1,2]
Выход: false
Пример 3:
Ввод: arr = [-3,0,1, -3,1,1,1, -3,10,0]
Выход: истина
class Solution {
public boolean uniqueOccurrences(int[] arr) {
Map<Integer, Integer>occur=new HashMap<Integer, Integer>();
for (int i : arr) {
occur.put(i, occur.getOrDefault(i, 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();
}
}
```[Java中map.getOrDefault()方法的使用](https://blog.csdn.net/a1439775520/article/details/104243690?utm_medium=distribute.pc_relevant.none-task-blog-title-1&spm=1001.2101.3001.4242)