**题目:**给定两个大小为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的中位数。
进阶:你能设计一个时间复杂度为 O(log (m+n)) 的算法解决此问题吗?。
示例:
提示:
class Solution {
public double findMedianSortedArrays(int[] nums1, int[] nums2) {
int m = nums1.length, n = nums2.length;
int count = n + m;
int[] num=new int[count];
int i = 0, j = 0,k=0;
if(m==0) {
num=nums2;
if(count%2!=0) {
return num[count/2];
}else {
return (num[count/2]+num[count/2-1])/2.0;
}
}
if(n==0) {
num=nums1;
if(count%2!=0) {
return num[count/2];
}else {
return (num[count/2]+num[count/2-1])/2.0;
}
}
while (i < m && j < n) {
if(nums1[i]<=nums2[j]) {
num[k++]=nums1[i++];
}else {
num[k++]=nums2[j++];
}
}
if(j<n) {
while(j<n) {
num[k++]=nums2[j++];
}
}
if(i<m) {
while(i<m) {
num[k++]=k+1<=count?nums1[i++]:nums1[i++];
}
}
if(count%2!=0) {
return num[count/2];
}else {
return (num[count/2]+num[count/2-1])/2.0;
}
}
}