一开始用sort写,有两个测试样例超时。因为已经排好序了,所以用归并排序中的那个Merge函数来做的,设置两个指针i,j。
#include<stdio.h>
#include<stdlib.h>
int a[1000005];
int b[1000005];
int main(){
int n,m;
scanf("%d",&n);
for(int i=0;i<n;i++)
scanf("%d",&a[i]);
a[n]=0x7fffffff;
scanf("%d",&m);
for(int i=0;i<m;i++)
scanf("%d",&b[i]);
b[m]=0x7fffffff;
int res=(n+m-1)>>1;
int count=0,i=0,j=0;
while(count!=res){
if(a[i]<b[j])
i++;
else
j++;
count++;
}
if(a[i]<b[j])
printf("%d\n",a[i]);
else
printf("%d\n",b[j]);
//system("pause");
return 0;
}