您的位置:首页 > 其它

找出两个排序数组中排在第k位置的数

2016-03-03 12:05 253 查看
给出已排序数组a,b,长度分别为n,m,找到排在第k位置的数。

bool solution(int a[],int n,int b[],int m,int &can)
{
if(!a||!b||m+n<k)
return false;
int i=0,j=0;
int cur=0;
while(i<n||j<m){
int v1=i<n?a[i]:INT_MAX;
int v2=j<m?b[j]:INT_MAX;
if(v1>v2){
can=v2;
++j;
}else{
can=v1;
++i;
}
if(++cur==k)
return true;
}
return false;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: