题解 | #不同的体重# java
不同的体重
https://www.nowcoder.com/practice/4a6411ef749445e88baf7f93d1458505
import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param arr int整型一维数组
* @return bool布尔型
*/
public boolean uniqueOccurrences (int[] arr) {
// write code here
HashMap<Integer, Integer> countMap = new HashMap<>();
// 统计每种体重的牛的数量
for (int weight : arr) {
countMap.put(weight, countMap.getOrDefault(weight, 0) + 1);
}
HashSet<Integer> occurrences = new HashSet<>();
// 检查是否有重复的数量出现
for (int count : countMap.values()) {
if (occurrences.contains(count)) {
return false;
}
occurrences.add(count);
}
return true;
}
}
编程语言是Java。
该题考察的知识点包括哈希表的使用、统计元素出现次数以及判断元素是否唯一。
代码的简短文字解释:整数数组arr,统计每个元素出现的次数,并检查是否存在重复的出现次数。如果所有元素出现的次数都是唯一的,则返回true;否则返回false,利用HashMap降低时间复杂度。
查看3道真题和解析