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将三个数组的值存储在一起,然后按照从小到大进行排序,得出中位数。