There are two sorted arrays nums1 and nums2 of size m and n respectively. Find the median of the two sorted arrays. The overall run time complexity should be O(log (m+n)).
double findMedianSortedArrays(int* nums1, int nums1Size, int* nums2, int nums2Size) {
double add[nums1Size+nums2Size];
int k=0,i,j;
for(i=0,j=0;i<nums1Size&&j<nums2Size;){
if(nums1[i]<=nums2[j]){
add[k]=nums1[i];
i++;
k++;
}
else{
add[k]=nums2[j];
j++;
k++;
}
}
if(i<nums1Size){
while(i<nums1Size){
add[k]=nums1[i];
k++;
i++;
}
}
if(j<nums2Size){
while(j<nums2Size){
add[k]=nums2[j];
k++;
j++;
}
}
i=0;
j=k-1;
while(j-i>1){
i++;
j--;
}
if(i==j){
return add[i];
}
else{
return (add[i]+add[j])/2.0;
}
}