double findMedianSortedArrays(int* nums1, int nums1Size, int* nums2, int nums2Size){
int length = nums1Size + nums2Size;
int *arr= calloc(length, sizeof(int));
int i = 0, j = 0;
while (1) {
if (i < nums1Size && j < nums2Size) {
if (nums1[i] <= nums2[j]) {
arr[i+j] = nums1[i];
++i;
} else {
arr[i+j] = nums2[j];
++j;
}
} else {
if (i == nums1Size && j < nums2Size) {
arr[i+j] = nums2[j];
++j;
if (j == nums2Size) break;
}
if (j == nums2Size && i < nums1Size) {
arr[i+j] = nums1[i];
++i;
if (i == nums1Size) break;
}
}
}
if ((length % 2) == 1) {
return arr[length/2];
} else {
return (arr[length/2] + arr[length/2-1]) / 2.0;
}
}
03-28
370