double findMedianSortedArrays(int* nums1, int nums1Size, int* nums2, int nums2Size){
int index1,index2;
if( (nums1Size+nums2Size)%2 ==1){
index1 = (nums1Size+nums2Size+1)/2;
index2 = index1;
}else{
index1 = (nums1Size+nums2Size)/2;
index2 = index1+1;
}
double an1,an2;
int for1=0,for2=0,count=0,num;
while(count != index1){
if((for1<nums1Size) && (for2<nums2Size)){ // 情况1
if(nums1[for1]<nums2[for2]){
count++;
num = nums1[for1++];
}else{
count++;
num = nums2[for2++];
}
}else if(for1==nums1Size){ // 情况2
count++;
num = nums2[for2++];
}else if(for2==nums2Size){ // 情况3
count++;
num = nums1[for1++];
}
}
an1 = num;
if(index1 == index2)
return an1; // 奇数总数
if((for1<nums1Size) && (for2<nums2Size)){ // 情况1
if(nums1[for1]<nums2[for2]){
count++;
an2 = nums1[for1++];
}else{
count++;
an2 = nums2[for2++];
}
}else if(for1==nums1Size){
count++;
an2 = nums2[for2++];
}else if(for2==nums2Size){
count++;
an2 = nums1[for1++];
}
return (an1+an2)/2;
}
原文:https://www.cnblogs.com/gallien/p/14290908.html