使用数组的归并。 不过时间复杂度不行,满足不了要求。
double findMedianSortedArrays(int* nums1, int nums1Size, int* nums2, int nums2Size) {
int num[nums1Size + nums2Size];
int i = 0, j = 0, k = 0;
double a;
while(i < nums1Size && j < nums2Size){
if(nums1[i] < nums2[j])
num[k++] = nums1[i++];
else
num[k++] = nums2[j++];
}
while(i < nums1Size){
num[k++] = nums1[i++];
}
while(j < nums2Size){
num[k++] = nums2[j++];
}
if(k%2 == 1)
return num[k/2];
else{
i = k/2;
a = (double)(num[i-1] + num[i]) / 2;
return a;
}
}