2014-04-17-網易有道-研發類-筆試題&參考答案

一套卷子,共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沒貼代碼,有不正確的地方,歡迎指出並討論

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章