原文:劍指offer 面試39題

面試 題: 題目:數組中出現次數超過一半的數字 題:數組中有一個數字出現的次數超過數組長度的一半,請找出這個數字。例如輸入一個長度為 的數組 , , , , , , , , 。由於數字 在數組中出現了 次,超過數組長度的一半,因此輸出 。如果不存在則輸出 。 解題思路:根據數組特點找出時間復雜度為O n 的算法。因為該數字出現次數比其他所有數字出現的次數之和還要多,所有要找的數字肯定是最后一次把次 ...

2018-06-25 09:34 0 815 推薦指數:

查看詳情

offer 面試4

面試4: 題目:在一個二維數組中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函數,輸入這樣的一個二維數組和一個整數,判斷數組中是否含有該整數。 解題代碼一:二層遍歷,時間並不是最優 解題關鍵:從右上角或者左下角開始。 解題代碼二: ...

Tue Jun 12 18:28:00 CST 2018 0 1728
offer 面試7

面試7: 題目:輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建出該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中都不含重復的數字。例如輸入前序遍歷序列{1,2,4,7,3,5,6,8}和中序遍歷序列{4,7,2,1,5,3,8,6},則重建二叉樹並返回。 解題思路:遞歸實現 解題 ...

Tue Jun 12 23:42:00 CST 2018 0 1493
offer 面試9

面試9: 題目:用兩個棧實現隊列 題目描述:用兩個棧來實現一個隊列,完成隊列的Push和Pop操作。 隊列中的元素為int類型。 解題思路:有兩個棧stackA,stackB,A為入棧,B為出棧的。入棧時,直接進入A即可,出棧時,先判斷B中是否有元素,如果沒有肯定不能pop(),應將A中所 ...

Wed Jun 13 00:53:00 CST 2018 0 1161
offer 面試8

面試8: 題目:二叉樹的下一個節點 題目描述:給定一個二叉樹和其中的一個結點,請找出中序遍歷順序的下一個結點並且返回。注意,樹中的結點不僅包含左右子結點,同時包含指向父結點的指針。 解題思路:詳見offer P65頁 解題代碼: ...

Wed Jun 13 00:29:00 CST 2018 0 1150
offer 面試3

面試3:數組中重復的數字 題目:在一個長度為n的數組里的所有數字都在0到n-1的范圍內。 數組中某些數字是重復的,但不知道有幾個數字是重復的。也不知道每個數字重復幾次。請找出數組中任意一個重復的數字。 例如,如果輸入長度為7的數組{2,3,1,0,2,5,3},那么對應的輸出是第一個 ...

Wed Jun 27 16:45:00 CST 2018 0 3081
offer 面試5

面試5: 題目:請實現一個函數,將一個字符串中的空格替換成“%20”。例如,當字符串為We Are Happy.則經過替換之后的字符串為We%20Are%20Happy。 方法一: 方法二: 方法三: offer解法:①先計算源字符串數組 ...

Tue Jun 12 19:00:00 CST 2018 0 1491
offer 面試6

面試6: 題目:從尾到頭打印鏈表 輸入一個鏈表,從尾到頭打印鏈表每個節點的值。 解題代碼: ...

Tue Jun 12 19:26:00 CST 2018 0 1555
offer 面試10

面試10: 題目:大家都知道斐波那契數列,現在要求輸入一個整數n,請你輸出斐波那契數列的第n項。n<=39 n=0時,f(n)=0 n=1時,f(n)=1 n>1時,f(n)=f(n-1)+f(n-2) 解題代碼一:基於循環(推薦) 代碼如下: 解題代碼 ...

Fri Jun 15 18:03:00 CST 2018 0 1178
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM