200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 网易校园招聘笔试题目

网易校园招聘笔试题目

时间:2021-12-19 13:42:46

相关推荐

网易校园招聘笔试题目

1 两个数组x[]、y[],长度为n,而且都经过排序从小到大排列,请编写C/C++程序求出两个数组合并后(仍然从小到大排列)的中位数,要求比较次数少于n。

分析:要求出中间的两个数,只要用一个数组来存储前面n+1个数就可以了,所求的必然是 第N 和第N+1个数。

#include<stdio.h>

#include<stdlib.h>

#define N 4

int main()

{

int i=0,j=0,k=0;

int a[N]={1,2,3,6};

int b[N]={7,8,90,99};

int c[N+1];

for(k=0;k<=N&&i<N&&j<N;k++)//当k>N跳出循环,此时c[1....N] 全部填满。

{ if(a[i]<=b[j])

{

c[k]=a[i];

i++;

}

else

{

c[k]=b[j];

j++;

}

}

if(i==N&&k<=N) c[N]=b[j];//如果是由于i==N跳出循环,则要考虑到c[N]没有放数据,所以单独赋值。

if(j==N&&k<=N) c[N]=a[i];

printf("%d,%d",c[N-1],c[N]);

system("pause");

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。