这可能不是最好的解决方式,但这是自己写的。有误望指正
public static double method2(int[] nums1, int[] nums2) {
// 定义新数组 容量长度为传入的两数组之和
int length = nums1.length+nums2.length;
int[] ints = new int[length];
// java lang包下自带的api,用于合并数组
// 参数1:原数组,参数2:复制起始下标,参数3:目标数组,参数4:目标数组复制其实位置,参数5:复制结束下标
System.arraycopy(nums1,0,ints,0,nums1.length);
System.arraycopy(nums2,0,ints,nums1.length,nums2.length);
// 数组重新排序
Arrays.sort(ints);
// 返回的中位数结果
double res = 0;
// 求出中间的下标
int index = ints.length / 2;
// 求出是否多余
int index2 = ints.length % 2;
if (index2!=0){
// 如果%的值为0,说明正好取到中间数
res = ints[index];
}else{
// %不为0,说明有两个数作为中位数,加起来除2.0,就是中位数(下标-1是因为下标从0算起,所有得-1)
res = (ints[index]+ints[index-1])/2.0;
}
return res;
}