阿里巴巴2017实习生笔试题

n个元素扫描一遍。

前面m个元素构建1个最小堆,后面n-m个元素,每个元素都加入到堆中,然后删掉堆中的最小元素,然后调整为新的堆。




带权路径长度为:(12+13+8)*2+(1+4)*3=81



题目貌似没有说清楚,像1111或者1222这样的数是不算的。

如果重复的数字是1,那么1的位置有3种情况,另外2个数字有9*8=72种情况,所以是3*72=216种情况

如果重复的数字不是1,那么重复的数字有9种情况,另外一个数字有8种情况,它的位置有3种情况,所以也是216种

加起来是432



改选之前,获胜的概率是1/3,改选之后,获胜的概率是2/3




首先,先序的第一个是A,所以根是A

然后,根据中序序列可知,A的左子树的中序是CB,右子树的中序是EFDIHJG

再根据先序序列,左子树的先序是BC,右子树的先序是DEFGHIJ

这样,问题就化简成了2个较小的子问题了,最后可以得到完整的二叉树



把出栈的序列划分为若干个段,每个段里面的元素都是递减的。取出每个段的段首

ABCD:A+B+C+D,段首ABCD

DCBA:DCBA,段首D

ACBD:A+CB+D,段首ACD

BCDA:B+C+DA,段首BCD

ACDB:A+C+DB,段首ACD

DCAB:DCA+B,段首DB

如果段首是递增的,那么就是正确的出栈顺序,否则就是错误的出栈顺序。





A车平均10分钟一辆,B车平均14分钟一辆。

所以,平均每70分钟就有12辆车

即,每35/6分钟就有1辆

所以平均等待时间为35/12分钟



不放回地取三次和直接一次取三个是一样的

p=5*5*5/C,其中C=15*14*13/6






A对应的开发,既然是乙的好友那么就不是乙,既然是最年轻的,那么就不是丙,所以是甲。

C对应的开发,既然比丙年轻,那么就不是丙,那么就只能是乙了。



因为周六和周日连续的2天都是说真话,所以应该是一样的回答。

但是前6天没有连续2天是一样的回答,说明第七天要么是周六,要么是周日。

如此即可验证。

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/nameofcsdn/article/details/52938375
个人分类: 笔试面试
所属专栏: BAT等名企面试笔试题
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭