木瓜移动校园招聘笔试题

时间:2020-12-09 20:03:49 笔试题目 我要投稿

2014木瓜移动校园招聘笔试题

  1.有A到J十个人手拉手构成一个环,其中A和B不相邻,问一共有多少种排列方式?

2014木瓜移动校园招聘笔试题

  解:基本的环排列算法。公式:N!/N(N 即为参与排列的人)

  就本题而言,首先十个人环排列A/10 ,然后将AB当成一个人进行环排列A*A/9

  排除AB相邻的即为答案:A/10 - A*A/9

  2.代码的优化,给出下一段代码,请做出最好的优化

  int f(n)

  {

  if(n<=4)

  return n*n;

  else

  {

  return f(n-4)*f(n-1) - f(n-2)*f(n-2);

  }

  }

  3.有两枚硬币AB,其中A为正常硬币,B的'两面都是人头,随机从AB中选出一枚,并抛向空中。求:1)若硬币落下后是人头,则是A的概率;2)连续抛n次,落下后都是人头,求是A的概率。

  解答:条件概率

  1)设抛一次,硬币落下是人头为M事件;随机选出的硬币是A的为N事件

  p(N|M)=p(MN)/p(M)=/=

  2)设抛n次,硬币落都是人头为Mn事件

  p(Mn)=()^n+(备注:“+”前为A硬币的概率,“+”后为B硬币的概率)

  p(N|Mn)=p(N·Mn)/p(Mn)=1/(1+2^n)

  4.什么是同步IO和异步IO,各有什么优缺点?什么情况下用同步IO较好,什么时候用异步IO较好?

  5.给定一个字符串,求串中字典序最大的子序列

  分析:字典序最大的子序列是这样构造的:设字符串为a0a1.....an-1。首先在a0a1.....an-1找到值最大的字符ai,然后在剩余的ai+1....an-1中值最大的字符aj,然后在剩余的aj+1....an-1中值最大的字符ak.....直到字符串的长度为0。则aiajak...即为答案

  容易想到,an-1一定在所求串中,因此一个好的方法就是从an-1开始向前搜索,当当前值大于或等于子序列中首字符的值时,就将其加入串首,直到搜索完整个串为止。

  代码:

  bool get_largest_sub(const char *src,char* &largest_sub)

  {

  if (src==NULL)

  {

  return false;

  }else

  {

  int sLen=strlen(src);

  if (largest_sub==NULL||strlen(largest_sub)

  {

  if (largest_sub==NULL)

  {

  largest_sub=(char *)malloc(sLen+1);

  }else

  {

  largest_sub=(char*)realloc(largest_sub,sLen+1);

  }

  }

  largest_sub[sLen-1]=src[sLen-1];

  int j=sLen-1;

  for (int i=sLen-2;i>=0;i--)

  {

  if (src[i]>=largest_sub[j])

  {

  largest_sub[--j]=src[i];

  }

  }

  int p,q;

  for (p=0,q=j;p

  {

  largest_sub[p]=largest_sub[q];

  }

  largest_sub[p]='\0';

  return true;

  }

  }

【2014木瓜移动校园招聘笔试题】相关文章:

中国移动企业招聘笔试题11-08

南方报业校园招聘笔试题07-26

腾讯校园招聘实习笔试题目07-27

淘宝校园招聘会笔试题08-08

腾讯校园招聘软件测试部分笔试题07-26

完美世界校园招聘笔试题目分享03-06

腾讯技术类校园招聘笔试试题12-18

2017百度校园招聘笔试题目02-12

阿里巴巴校园招聘笔试题目分享03-03

中国电信校园招聘笔试试题01-15