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