2014 年美团网产品类经理笔试题
2013.10.17 日在清华二教一楼 402 参加笔试,北京就这一场宣讲会和笔试,没有宣讲会,
18:30 准时开始考试,考试时间 70 分钟。下面是我记得的题目,有行测中的逻辑题、数学
题,有互联网产品题,还有编程题
95,88,71,61,50,()
答:
95 - 9 - 5 = 81
88 - 8 - 8 = 72
71 - 7 - 1 = 63
61 - 6 - 1 = 54
50 - 5 - 0 = 45
40 - 4 - 0 = 36
1,2,3.。。10 球放入 1,2,。。。。10 个盒子里,恰好 3 个球与盒子标识不等,这样的方
法有几种?
答:从标号为 1,2,…,10 的 10 个球中选出 7 个放到相应标号的盒中有 10C7 种,则剩下
3 个球的标号放在与其所在盒子的标号不一致的盒中、不妨设为 1,2,3 号球,则 1,2,3
号盒中所放球为 2,3,1;3,1,2 两种,共 10C7*2 种。
1,2,3,4,5 组成的无重复数字的五位数中,大于 23145 且小于 43521 的共有几个?
答:全部有 5!=120 个小于 23145 的有 21xxx(3!=6 个,1xxxx=4!=24 个) 大于 43521 的
有 44xxx,45xxx,5xxxx,6+6+24=36 个 120-24-36=60 个,再去掉 23145 和 43521 自己,所
以是 58 个。
一次考试中,第一次大于等于 80 分的人数占 70%,第二次 75%,第三次 85%,第四次 90%,
问四次考试中都 80 分的至少占?%
答:100-(100-70)-(100-75)-(100-85)-(100-90)=20(人)
7 人中派 4 人发言,甲乙至少一人参加,如果同时参加,不能相邻,那么问不同的发言顺序
有几种?
答:总的排法 - 没有甲乙的 - 甲乙同时参加且相邻的 A7 取 4 - A5 取 4 -(C5 取 2 ×A2
取 2 × A3 取 3)
=840 - 120 - 120
=600
了解下面名词:知乎?街旁?SLCD、TFT、IPS(都是屏幕)?
编程 1 实现二叉树每一个节点的左右子节点相互调换?
参考程序:
Status BiTree_Revolute(BiTree T)//左右子树交换
{
if(!T) return OK;
BitNode *temp;
if(T->lchild!=NULL&&T->rchild!=NULL)
{
}
temp=T->lchild;
T->lchild=T->rchild;
T->rchild=temp;
BiTree_Revolute(T->lchild);
BiTree_Revolute(T->rchild);
return OK;
}
编程 2 一个台阶一共 n 级,一次可跳 1 级,也可跳 2 级,编程实现计算共有几种方法?并
分析算法的时间复杂度
思路:
首先我们考虑最简单的情况:如果只有 1 级台阶,那显然只有一种跳法,如果有 2 级台阶,
那就有两种跳的方法了:一种是分两次跳,每次跳 1 级;另外一种就是一次跳 2 级。
现在我们再来讨论一般情况:我们把 n 级台阶时的跳法看成是 n 的函数,记为 f(n)。当 n>2
时,第一次跳的时候就有两种不同的选择:一是第一次只跳 1 级,此时跳法数目等于后面
剩下的 n-1 级台阶的跳法数目,即为 f(n-1);另外一种选择是第一次跳 2 级,此时跳法数
目等于后面剩下的 n-2 级台阶的跳法数目,即为 f(n-2)。
因此 n 级台阶时的不同跳法的总数 f(n) = f(n-1) + f(n-2)。
我们把上面的分析用一个公式总结如下:
/
1
(n=1)
f(n) =
2
(n=2)
\
f(n-1) + (f-2)
(n>2)
分析到这里,相信很多人都能看出这就是我们熟悉的 Fibonacci 序列。
参考代码:
[cpp] view plaincopy
/*----------------------------
Copyright by yuucyf. 2011.08.16
-----------------------------*/
#include "stdafx.h"
#include
using namespace std;
int JumpStep(int n)
{
}
if (n <= 0)
return 0;
if (n == 1 || n == 2) return n;
return (JumpStep(n-1) + JumpStep(n-2));
int _tmain(int argc, _TCHAR* argv[])
{
int nStep = 0;
cout << "请输入台阶数:";
cin >> nStep;
cout << "台阶数为" << nStep << ",那么总共有" << JumpStep(nStep) << "种跳法."
<< endl;
return 0;
}
最后大题:
设工厂甲和工厂乙次品率为 1%和 2%,现在从工厂甲和乙中分别占 60%和 40%的一批产品
里随机抽取一件,发现是次品,求该次品是由工厂甲生产的概率?
答:利用贝叶斯公式得 P=(0.6*0.01)/(0.6*0.01+0.4*0.02)=3/7