题解 | #三个牛群中位数#
三个牛群中位数
https://www.nowcoder.com/practice/8bc0369faf7c4ac5ab336f38e859db05
import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param herd1 int整型一维数组
* @param herd2 int整型一维数组
* @param herd3 int整型一维数组
* @return double浮点型
*/
public double findMedianSortedArray (int[] herd1, int[] herd2, int[] herd3) {
// write code here
ArrayList<Integer> arrayList = new ArrayList<>();
for (int i : herd1) {
arrayList.add(i);
}
for (int i : herd2) {
arrayList.add(i);
}
for (int i : herd3) {
arrayList.add(i);
}
arrayList.sort(new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
return o1 - o2;
}
});
if (arrayList.size() % 2 == 0) {
return (arrayList.get(arrayList.size() / 2 - 1) + arrayList.get(
arrayList.size() / 2)) / 2.0;
}
return arrayList.get(arrayList.size() / 2);
}
}
本题考察的知识点是数组求中位数,所用编程语言是Java。
我使用的方法不太符合题目要求,我使用一个ArrayList将三个数组的值存储在一起,然后按照从小到大进行排序,得出中位数。