把两个数组合在一起,求其中间数。
直接合并,然后求中间数就好了。
坑点:分奇偶
偶数的话,要用index/2-1;
奇数的话,直接index/2;
代码:
#include<iostream>
#include<algorithm>
using namespace std;
int S1[1000010],S2[1000010];
int R[1000010];
int main(){
int n,m;
scanf("%d",&n);
for(int i=0;i<n;i++){
scanf("%d",&S1[i]);
}
scanf("%d",&m);
for(int i=0;i<m;i++){
scanf("%d",&S2[i]);
}
int i=0,j=0,index=0;
while(i<n&&j<m){
if(S1[i]<S2[j]){
R[index++]=S1[i++];
}else R[index++]=S2[j++];
}
while(i<n) R[index++]=S1[i++];
while(j<m) R[index++]=S2[j++];
int mid;
if(index%2==0){
mid=index/2-1;
}else mid=index/2;
printf("%d",R[mid]);
return 0;
}