题解 | #不同的体重#
不同的体重
https://www.nowcoder.com/practice/4a6411ef749445e88baf7f93d1458505?tpId=354&tqId=10595896&ru=/exam/oj&qru=/ta/interview-202-top/question-ranking&sourceUrl=%2Fexam%2Foj%3Fpage%3D1%26tab%3D%25E7%25AE%2597%25E6%25B3%2595%25E7%25AF%2587%26topicId%3D354
import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param arr int整型一维数组
* @return bool布尔型
*/
public boolean uniqueOccurrences (int[] arr) {
// write code here
Map<Integer, Integer> countMap = new HashMap<>();
for (int w : arr) {
countMap.put(w, countMap.getOrDefault(w, 0) + 1);
}
HashSet<Integer> set = new HashSet<>(countMap.values());
return set.size() == countMap.values().size();
}
}
知识点:
哈希
解题思路:
使用了哈希表 countMap 来记录每种体重的牛的数量。我们遍历输入数组 weight,对于每个体重值 w,我们将其作为键放入哈希表,并更新其对应的值为当前计数加1。最后,我们检查哈希表中的键值对数量是否与牛的种类数量相同,如果相同则说明每种体重的牛的数量都是不同的。

查看12道真题和解析