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> count = new HashMap<>();
        for (int num : arr) {
            count.put(num, count.getOrDefault(num, 0) + 1);
        }

        HashSet<Integer> times = new HashSet<>();
        for (int occurrence : count.values()) {
            if (!times.add(occurrence)) {
                return false;
            }
        }

        return true;
    }
}

编程语言是Java。

该题考察的知识点包括:

  1. 数组的遍历
  2. HashMap的基本操作
  3. HashSet的基本操作

代码的文字解释大纲如下:

  1. 在uniqueOccurrences方法中,创建一个HashMap对象count,用来统计每个元素出现的次数。
  2. 使用for-each循环遍历整数数组arr,对每个元素进行计数,将结果存储在count中。
  3. 创建一个HashSet对象times,用来存储出现的次数,以便判断是否有重复的次数出现。
  4. 使用for-each循环遍历count的值集合,即每个元素出现的次数。
  5. 在循环中,使用HashSet的add方法判断是否有重复的次数出现。若有重复次数,说明每个元素的出现次数不是唯一的,返回false。
  6. 若循环结束仍没有发现重复的次数,说明每个元素的出现次数都是唯一的,返回true。
全部评论

相关推荐

点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务