题解 | #牛的体重统计#时间空间复杂度都是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;
    }

全部评论

相关推荐

不愿透露姓名的神秘牛友
今天 18:02
点赞 评论 收藏
分享
陆续:不可思议 竟然没那就话 那就我来吧 :你是我在牛客见到的最美的女孩
点赞 评论 收藏
分享
深夜书店vv:腾讯是这样的,去年很多走廊都加桌子当工区
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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