题解 | #三个牛群中位数#

三个牛群中位数

https://www.nowcoder.com/practice/8bc0369faf7c4ac5ab336f38e859db05

知识点:

数组操作

分析:

这段代码是一个用于计算三个已排序整数数组的中位数的Java方法。让我们逐步解释这段代码的功能和实现。

1. 首先,代码定义了三个整型数组 `herd1`、`herd2` 和 `herd3`,分别表示三个已排序数组。

2. 然后,代码通过 `herd1.length`、`herd2.length` 和 `herd3.length` 获取了每个数组的长度,并将它们分别赋值给整型变量 `a`、`b` 和 `c`。

3. 接下来,代码创建了一个新的整型数组 `result`,该数组的长度为三个原始数组长度之和。这是为了存储将三个数组合并后的结果。

4. 接着,通过 `System.arraycopy()` 方法,代码将 `herd1`、`herd2` 和 `herd3` 数组的元素分别拷贝到新的 `result` 数组中。通过这个步骤,我们将三个数组合并成一个已排序的大数组。

5. 接下来,使用 `Arrays.sort()` 方法对 `result` 数组进行排序,以确保数组中的元素按升序排列。

6. 接着,代码获取已排序 `result` 数组的长度,并将其赋值给整型变量 `n`。

7. 接下来,代码检查数组长度 `n` 是否为偶数,通过 `n % 2 == 0` 进行判断。如果数组长度为偶数,则返回中间两个元素的平均值作为中位数。

8. 最后,如果数组长度为奇数,则返回位于数组中间位置的元素作为中位数。

总结:这段代码实现了将三个已排序整型数组合并为一个已排序数组,并计算合并后数组的中位数。如果合并后的数组长度为偶数,则返回中间两个元素的平均值作为中位数;如果长度为奇数,则返回位于数组中间位置的元素作为中位数。

编程语言:

JAVA

完整代码:

    public double findMedianSortedArray (int[] herd1, int[] herd2, int[] herd3) {
        int a = herd1.length;
        int b = herd2.length;
        int c = herd3.length;
        int[] result = new int[a + b + c];
        System.arraycopy(herd1, 0, result, 0, a);
        System.arraycopy(herd2, 0, result, a, b);
        System.arraycopy(herd3, 0, result, a + b, c);
        Arrays.sort(result);
        int n = result.length;
        if (n % 2 == 0) {
            return (result[n / 2] + result[n / 2 - 1]) / 2.0;
        } else {
            return result[n / 2];
        }
    }

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-07 12:04
毕业生招你惹你了,问一个发薪日来一句别看网上乱七八糟的你看哪个工作没有固定发薪日扭头就取消了面试就问了一句公司都是这个态度吗还搞上人身攻击了...
程序员小白条:呃呃呃,都还没面试,我都不会问这么细,何况通不通过,去不去都另说,你没实力和学历的话,在外面就这样,说实话没直接已读不回就不错了,浪费时间基本上
点赞 评论 收藏
分享
认真搞学习:这么良心的老板真少见
点赞 评论 收藏
分享
来个大佬救一下,为上投了都是石沉大海了,没实习经历的话怕秋招直接进不了面。什么实习这么难找,基本
心态爆炸了:现在正式的岗位都少,实习基本不咋招的,除了大厂,中小企业其实没那么多岗位需求,就算是有,大多都是招一两个廉价劳动力,同时,他们也会希望你一来就能干活的,没时间培训你,就让你了解公司的项目,你了解完就可以开始干活。再者是,很多低质量的实习其实用处没有那么大的。我去年也是找实习找到破防,最后去了一家深圳的小公司实习,工作对我来说很简单,甚至不如我在学校做的项目,秋招的时候,这段实习经历也并没有帮上什么忙,投递简历,依旧非常低的回复率。低回复率是常态,尤其是找实习,找不到,那就把重心放在优化自己的简历和项目,多看八股文,锻炼自己的面试能力,多看别人的面经,自己模拟面试,等秋招的时候,只要有那么寥寥几次,好好抓住那几次机会。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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