2014-04-17-网易有道-研发类-笔试题&参考答案

来源:互联网 发布:spring boot golang 编辑:程序博客网 时间:2024/05/17 08:14

一套卷子,共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没贴代码,有不正确的地方,欢迎指出并讨论

2 0
原创粉丝点击