import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param arr int整型一维数组
     * @return bool布尔型
     */
    public boolean uniqueOccurrences (int[] arr) {
        {
            // write code here
            Map<Integer, Integer> map = new HashMap<>();
            int index = 0;
            while (index < arr.length) {
                map.put(arr[index], map.getOrDefault(arr[index], 0) + 1);
                index++;
            }

            List<Map.Entry<Integer, Integer>> list = new ArrayList<>(map.entrySet());
            list.sort(new Comparator<Map.Entry<Integer, Integer>>() {
                @Override
                public int compare(Map.Entry<Integer, Integer> o1,
                                   Map.Entry<Integer, Integer> o2) {
                    if (o1.getValue() < o2.getValue()) {
                        return 1;
                    } else if (o1.getValue() == o2.getValue()) {
                        return o2.getKey() - o1.getKey();
                    } else {
                        return -1;
                    }
                }
            });
            HashSet<Integer> hashSet = new HashSet<>();
            int amount = 0;
            for (Map.Entry<Integer, Integer> myMap : list) {
                hashSet.add(myMap.getValue());
                amount++;
            }
            return hashSet.size() == amount;
        }
    }
}

本题考察的知识点主要是重复元素的统计,所用编程语言是java.我们可以利用HashMap统计重复元素个数,然后利用hashset添加元素对应重复个数,最后根据hashset大小来判断是否每种体重的牛的数量都是不同的