腾讯2014暑期实习笔试总结

        4月12号在清华大学参加的笔试,状态不是很好,答题答的懵懵懂懂的。晚上参加微软的在线笔试又被虐得惨不忍睹,4道题答对了一道。。。周一去阿里面试就是被虐的节奏,回来之后就跟大老板开会,一直到今天晚上十点左右才把大老板布置的任务完成的差不多,明天估计要开始赶paper了,今晚是最近最后有空的时间了估计。。。

        

        腾讯的笔试题型主要就两类,一类是不定项选择题,一类就是填空题。到现在我就只记得印象比较深的四点了。。。


1. c++的sizeof题目:具体数值记不清楚了,结构比较有印象

int A(char a[10]) { return sizeof(a); }

int main(){ char a[10]; int result = sizeof(a) * 10 + A(a) * 2; }

这题主要考察 数组名以及指针的区别,我在前面的文章《c++中数组名与函数的区别》中已经有所提及了。

主要原因是数组名a在传入到函数A中时已经失去了他的数据结构内涵并且退化成为了一个指针。所以结果应该为(设为32位机器)10 * 10 + 4 * 2 = 108。


2. 二叉树的定义:

维基百科中二叉树的定义是:二叉树是每个节点最多有两个子树的树结构,所以一个单独的节点也可以被称作一棵二叉树。.


3. 概率题:随机取三个球放到四个瓶子中,瓶子的最大球数是2的概率是多少。。。

应该挺简单的。。。但是我不会。。。回头要补习下概率论。。。

此题是个选择题,根据最终的答案,三个球和三个盒子应该都是不同的,应该是这样分析的:

每个球有4中分配方案,也就是总共有4 * 4 * 4 = 64种分配方案;

最大球数是2有两种分配情况:4 * 1 * 3 + 4 * 3 * 2 = 36

第一个球有4中分配方案,第二个球如果跟第一个球分到同一个瓶子里,则第三个球有3种分配方案;

第一个球有4中分配方案,第二个球如果跟第一个球分到不同瓶子里,则第三个球应该有2种分配方案;

所以,最终结果是 9 / 16。


4. 梅氏砝码问题:

用四个砝码称出1 - 40的重量,这四个砝码的值为多少?

有个同学的思路还行,但是仔细推敲还是会有点问题:

解决思路 : 
1克的法码是无论如何要用的;
其次需要准备的法码设为x克,就可以称x+1克和x-1克。由于x-1克是在1克的基础上继续加1克的重量所以 x-1=1+1 ,即 x=3 。根据上式可以称出 1、2=3-1、3、4=3+1克。 
把要准备的第三个法码社为y克,由于第二个法码可以称到4克,所以又可以称y-4、y-3、y-2、y-1、y、y+1、y+2、y+3、y+4克的重量。由于y-4是在4克的基础上继续加1克的重量,所以 y-4=4+1。即 y=9。因此可以称出1、2=3-1、3、4=3+1、5=9-(1+3)、6=9-3、7=9+1-3、8=9-1、9、10=1+9、11=3+9- 1、12=3+9、13=1+3+9 。 
再把要准备的第四个法码设为z克,可以称从z-13到z+13。和前面一样、z-13=13+1 ,所以 z=27。因此可以称出到40克的重量了。 
也就是说、只要分别准备1、3、9(=3的平方)、27(=3的立方)克4种法码,就可以称出从1克到40克、每一次加1克的重量。 

梅氏砝码:若有n个砝码,重量分别为M1,M2,……,Mn,且能称出从1到(M1+M2+……+Mn)的所有重量,则再加一个砝码,重量为Mn+1=(M1+M2+……+Mn)*2+1,则这n+1个砝码能称出从1到(M1+M2+……+Mn+Mn+1)的所有重量。





  • 34
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 28
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 28
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值