当前位置:乐求学 >

好好学习 >考研 >

美团网研发工程师笔试题

美团网研发工程师笔试题

1. 有一个随机数发生器,以概率P产生0,概率(1-P)产生1,请问能否利用这个随机数发 生器,构造出新的发生器,以1/2的概率产生0和1。请写明结论及推理过程。

美团网研发工程师笔试题

2. 一个栈的.入栈序列是A,B,C,D,E,则栈的不可能的输出序列是( ) A. EDCBA; B. DECBA; B D,ABCDE

3. 4个足球队打小组单循环,计分方式:胜3分平1分负0分,如果计分相同,则净胜球 多的队伍排名靠前,如果净胜球还一样,则进球多的球队排名靠前。小组前两名出线。问可能出线的最低分数是多少。请说明推理过程。 备注:单循环赛是指所有参加比赛的队两两之间都比赛一次,最后按各队在全部比赛中的积分,得失分率排列名次。

4. 从1到1000000的所有自然数,数字“1”一共出现了多少次?例:自然数101中,数 字“1”出现了2次,自然数1011中,数字“1”出现了3次,请写明计算过程及结果

5. 以下代码是把一个字符串倒序,如“abcd”倒序后变为“dcba”。请找出下面代码中的 所有错误,直接在代码的右侧空白处修改。

#include"string.h"

main()

{

char*src="hello,world";

char*dest=NULL;

int len = strlen(src);

dest = (char*)malloc(len);

char* d = dest;

char* s = src[len];

while(len--!=0)

d++ = s --;

printf("%s",dest);

return 0;

}

6. 以下代码功能:找出一个有序(字典序)字符串数组arr种值等于字符串v的元素的符号, 如果有多个元素满足这个条件,则返回其中序号最大的。请找出下面代码中所有错误,直接在代码右侧空白处修改

Int bisearch(char**arr, int b, int e, char*v){

Int minIndex = b, maxIndex = e, midIndex;

while(minIndex

midIndex=(minIndex+maxIndex)/2;

if(strcmp(arr[midIndx],v<=0)){

minIndex = midIndex;

}else{

maxIndex=minIndex;

}

}

if(!strcmp(arr[maxIndex],v)){

return maxIndex;

}else{

return -1;

}

}

7. 字符串ABCD,可以由字符串BCDA或者CDAB通过循环移位而得到。请编程实现以下 检测:字符串S1是否可以由字符串S2通过循环移位而得到。 语言不限(推荐C/C++,不推荐写伪码)

  • 文章版权属于文章作者所有,转载请注明 https://m.leqiuxue.com/kywx/dpk01.html