double findMedianSortedArrays(int* a1, int len1, int* a2, int len2){
if(len1==0&&len2==0) return ;
if(len1==0&&len2==1) return a2[0];
if(len2==0&&len1==1) return a1[0];
int len=len1+len2;
int a[len];
int index1=0;
int index2=0;
int i=0;
double sum=0;
while(index1<len1&&index2<len2){
if(a1[index1]<a2[index2]){
a[index1+index2]=a1[index1];
index1++;
}
else{
a[index1+index2]=a2[index2];
index2++;
}
}
while(index1<len1){a[index1+index2]=a1[index1];index1++;}
while(index2<len2){a[index1+index2]=a2[index2];index2++;}
if(len%2==0){
sum=(a[len/2]+a[len/2-1])/(double)2;
}
else sum=a[len/2];
return sum;
}
本文介绍了一个算法,该算法将两个已排序的整数数组合并,并找到合并后数组的中位数。首先比较两个数组的元素来合并数组,然后根据合并后数组的长度是奇数还是偶数来确定中位数。
2886

被折叠的 条评论
为什么被折叠?



