题解 | #牛的体重统计# java

牛的体重统计

https://www.nowcoder.com/practice/15276ab238c9418d852054673379e7bf

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param weightsA int整型一维数组
     * @param weightsB int整型一维数组
     * @return int整型
     */
    public int findMode (int[] weightsA, int[] weightsB) {
        // write code here
        Map<Integer, Integer> wei = new HashMap<>();

        for (int weight : weightsA) {
            wei.put(weight, wei.getOrDefault(weight, 0) + 1);
        }

        for (int weight : weightsB) {
            wei.put(weight, wei.getOrDefault(weight, 0) + 1);
        }

        int ans = -1;
        int aans = 0;

        for (Map.Entry<Integer, Integer> entry : wei.entrySet()) {
            int key = entry.getKey();
            int value = entry.getValue();

            if (value >= ans) {
                if (key > aans) {
                    ans = value;
                    aans = key;
                }
            }
        }

        return aans;
    }
}

Java代码

该题考察的知识点是哈希表的使用。

代码中使用哈希表统计每个权重出现的次数,并找出出现次数最多的权重。算法遍历两个输入数组,分别将元素和对应的出现次数存储在哈希表 wei 中。然后,遍历哈希表,找到出现次数最多的权重,并将其返回。

通过使用 HashMap 来统计每个权重(整数值)在两个输入数组中出现的次数,然后在遍历过程中寻找出现次数最大的权重,如果有多个出现次数相同的权重,则选择最大的权重作为结果返回。

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务