2014-04-17-网易有道-研发类-笔试题&參考答案
2017-05-08 16:28 tlnshuju 阅读(304) 评论(0) 编辑 收藏 举报一套卷子,共10道小题,3道编程大题
一、填空&选择
1、选择:给了一个递归求Fibonacci的代码,问算法复杂度
指数复杂度
2、选择:忘记了,应该不难
3、选择:给你52张除掉大小王的扑克,随意抽取8张,求和,问下列哪个答案的概率最大
选最接近平均数的答案,忘了题目是扑克牌(1-13)还是筛子(1-6)
扑克的话选最接近((1+13)/2)*8 = 56。筛子的话选最接近((1+6)/2)*8 = 28
4、填空:著名的蒲丰投针概率问题,在一个平面上有无线条间距为H的平行线,一根针长度为h(H>h),投掷这根针,使之落在平面上,问。针与线有交点的概率
2h/πH,证明见布丰投针几何证明
5、填空:一棵树,n1个节点度为1,n2个节点度为2。...,nk个节点度为k,求叶子节点个数
6、选择:指针跟引用的使用方法问题
7、选择:C++和Java中虚函数的差别
8、填空:给了一段递归代码的函数(关键代码是x(n) = x(n)+x(n-1)+x(n-2)),求算法复杂度
3^n
9、填空:a,b,c,三个数均匀分布在(0,1)之间。求a+b+c之和在(0,1)的概率
1/6
方法一:三重积分
方法二:几何证明,a+b+c=1表示一个平面,a。b。c在(0,1)之间表示一个正方体
10、填空:三个人按顺序射击比赛,各自有各自的概率命中(已知的概率),有人命中比赛即结束。问第三个人获胜的概率
这个题是简单的概率题
二、编程题
1、实现两个整数的求和。整数存在单链表之中,整数的高位数字存在头结点,以此类推。返回一个链表
方法一:借助两个辅助栈,再从最低位算起
方法二:先翻转链表。再从最低位算起
方法三:从高位做,递归
注意两个链表不同长及空链表问题
2、实现next_permutation的函数。即下一字典序列。输入输出都是string
网上挺多的随便贴一个next_permutation
3、给一个矩阵A(5*5),一个整数n,求A^n的每一个元素模13的值,返回一个5*5矩阵
这个题目没搞清楚它要考什么,我就用logn复杂度递归实现了矩阵乘法。再去模13
ps没贴代码,有不对的地方。欢迎指出并讨论