题解 | #牛的体重统计#时间空间复杂度都是o(m+n)

牛的体重统计

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


    public int findMode (int[] A, int[] B) {
        // write code here
        int m = A.length;
        int n = B.length;
        int[] merged = new int[m + n];
        int i = 0, j = 0, k = 0;

        // 合并两个牛群的体重
        while (i < m && j < n) {
            if (A[i] <= B[j]) {
                merged[k++] = A[i++];
            } else {
                merged[k++] = B[j++];
            }
        }

        // 将剩余的牛群体重加入合并后的数组
        while (i < m) {
            merged[k++] = A[i++];
        }
        while (j < n) {
            merged[k++] = B[j++];
        }

        // 统计每个体重出现的次数
        Map<Integer, Integer> count = new HashMap<>();
        int maxCount = 0;
        int mode = 0;
        for (int weight : merged) {
            count.put(weight, count.getOrDefault(weight, 0) + 1);
            if (count.get(weight) > maxCount) {
                maxCount = count.get(weight);
                mode = weight;
            } else if (count.get(weight) == maxCount) {
                mode = Math.max(mode, weight);
            }
        }

        return mode;
    }

全部评论

相关推荐

07-03 11:02
中山大学 C++
字节刚oc,但距离九月秋招很近了有两段互联网实习,非腾讯字节。不敢赌转正,现在在纠结去还是不去如果实习俩月离职会有什么后果吗
阿城我会做到的:不去后悔一辈子,能否转正取决于ld的态度,只要他不卡,答辩就是走流程,个人觉得可以冲一把
投递字节跳动等公司9个岗位
点赞 评论 收藏
分享
06-08 22:25
门头沟学院 Java
从零开始的转码生活:这hr不会打开手机不分青红皂白给所有人群发这句话,过一会再给所有人再发一遍,这肯定会有重复的,不管,再过一会再发一遍
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务