题目链接:
https://leetcode.com/problems/median-of-two-sorted-arrays/description/
class Solution {
//两个有序数组合并为一个有序数组
public static void Merge(int[] a,int[] b, int[] tmp) {
int aLen = a.length;
int bLen = b.length;
int i = 0;
int j = 0;
int k = 0;
while(i < aLen && j < bLen) {
if(a[i] < b[j]) {
tmp[k++] = a[i++];
} else {
tmp[k++] = b[j++];
}
}
while(i < aLen) {
tmp[k++] = a[i++];
}
while(j < bLen) {
tmp[k++] = b[j++];
}
}
public double findMedianSortedArrays(int[] nums1, int[] nums2) {
double ans = 0;
int aLen = nums1.length;
int bLen = nums2.length;
int[] tmp = new int[aLen + bLen];
Merge(nums1, nums2, tmp);
if((aLen + bLen) % 2 == 0 ) {
ans = ((double)tmp[(aLen + bLen)/2 -1]+(double) tmp[(aLen + bLen)/2])/2;
System.out.println("The median is (" + tmp[(aLen + bLen)/2 -1] +" + " + tmp[(aLen + bLen)/2] +
")/2 = " + ans);
} else {
ans = tmp[(aLen + bLen)/2];
System.out.println("The median is " + ans);
}
return ans;
}
}