/**
* 寻找两个有序数组的中位数
*/
@Test
public void test01(){
int [] num1={1,3};
int [] num2={2};
double medianSortedArrays = findMedianSortedArrays(num1, num2);
System.out.println(medianSortedArrays);
}
public double findMedianSortedArrays(int[] num1, int[] num2) {
double sum=0.0;
List<Integer> list = new ArrayList<>();
for (int i = 0; i < num1.length; i++) {
list.add(num1[i]);
}
for (int i = 0; i < num2.length; i++) {
list.add(num2[i]);
}
Collections.sort(list);
int size=list.size();
if (size%2==0){
Integer i1 = list.get((size/2)-1);
Integer i2 = list.get((size / 2));
sum=(double) (i1+i2)/2;
}else {
sum=list.get((size/2));
}
return sum;
}
方法不太好,希望大佬能指点一下。。。