4. Median of Two Sorted Arrays
这应该是最简单最慢的方法了,因为本身为有序,所以比较后排序再得到中位数。
double findMedianSortedArrays(int* nums1, int nums1Size, int* nums2, int nums2Size) {
int numsSize = nums1Size + nums2Size;
int *nums = (int*)malloc(sizeof(int)*numsSize);
double median;
//合并
for (int i = , j = , k = ; k < numsSize; k++) {
if (i >= nums1Size) nums[k] = nums2[j++];
else if (j >= nums2Size) nums[k] = nums1[i++];
else {
if (nums1[i] >= nums2[j])nums[k] = nums2[j++];
else nums[k] = nums1[i++];
}
}
//中卫
if (numsSize % == )
median = (double) (nums[(int)(numsSize / - )] + nums[(int)(numsSize / )]) / ;
else median = (double)nums[numsSize / ];
free(nums);
return median;
}
。