2014木瓜移动校园招聘笔试题
来源:互联网 发布:矩阵 手办 编辑:程序博客网 时间:2024/04/27 14:07
解:基本的环排列算法。公式:N!/N(N 即为参与排列的人)
就本题而言,首先十个人环排列10!/10 ,然后将AB当成一个人进行环排列9!*2!/9
排除AB相邻的即为答案:10!/10 -9!*2!/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)<sLen)
{
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<sLen&&q<sLen;p++,q++)
{
largest_sub[p]=largest_sub[q];
}
largest_sub[p]='\0';
return true;
}
}
- 2014木瓜移动校园招聘笔试题
- 2014木瓜移动校园招聘笔试题之递归优化题解答
- 中兴移动2014届校园招聘C++笔试题
- 2014校园招聘笔试题
- [C++笔试] 中兴移动2014届校园招聘C++笔试题
- 校园招聘笔试题
- 百度2013校园招聘移动软件研发工程师笔试题
- 2014迅雷校园招聘笔试题答案
- 2014迅雷校园招聘笔试题(C++)
- 迅雷2014校园招聘笔试题
- 2014迅雷校园招聘笔试题答案
- 2014迅雷校园招聘笔试题答案
- 2014迅雷校园招聘笔试题答案
- 2014迅雷校园招聘笔试题答案
- 迅雷2014校园招聘笔试题
- 2014迅雷校园招聘笔试题答案
- 2014阿里巴巴校园招聘笔试题
- 阿里2014校园招聘 笔试题
- 升级Spring从2.5.6至3.1.2过程实录
- linux awk使用示例收集
- 查看solaris系统的版本和位数
- OCP-1Z0-053-V12.02-511题
- VSS 6.0 2005 2008
- 2014木瓜移动校园招聘笔试题
- MFC TRACE宏的使用
- kernel parameters
- Q2012
- sql profile介绍
- vc ppt
- grunt-cmd-transport提取deps[]的BUG
- 如何快速且不作弊增加Google Adsense廣告收益
- 十中营养价值较高的水果