假設你正在爬樓梯。需要 n 階你才能到達樓頂。
每次你可以爬 1 或 2 個台階。你有多少種不同的方法可以爬到樓頂呢?
注意:給定 n 是乙個正整數。
示例 1:
輸入: 2
輸出: 2
解釋: 有兩種方法可以爬到樓頂。
1. 1 階 + 1 階
2. 2 階
示例 2:
輸入: 3
輸出: 3
解釋: 有三種方法可以爬到樓頂。
1. 1 階 + 1 階 + 1 階
2. 1 階 + 2 階
3. 2 階 + 1 階
class
solution
return memory[n-1]
;}}
使用遞迴+記憶化
class
solution
public
inthelper
(int n,
int[
] memory)
return memory[n];}
}
class
solution
:def
climbstairs
(self, n:
int)
->
int:
if n<=2:
return n
memory =[0
]*nmemory[0]
, memory[1]
=1,2
for i in
range(2
,n):
memory[i]
= memory[i-1]
+ memory[i-2]
return memory[n-
1]
演算法面試通關40講 23 面試題 求眾數
給定乙個大小為 n 的陣列,找到其中的眾數。眾數是指在陣列 現次數大於 n 2 的元素。你可以假設陣列是非空的,並且給定的陣列總是存在眾數。示例 1 輸入 3,2,3 輸出 3示例 2 輸入 2,2,1,1,1,2,2 輸出 2sorting class solution class solutio...
演算法面試通關40講總結
昨日,我看完了演算法面試40講,這門課程的學習一直斷斷續續。費了九牛二虎之力,在不斷回溯和反覆當中,結束了這一門課程。演算法是解決問題的方法,特別是計算機解決問題的方法。廣義上,演算法就是指人們處理問題的思路,而在計算機裡,便是乙個個解決實際問題的思路的抽象概括。各個資料結構也是對演算法的輔助。演算...
演算法面試題
1 兩個有序的陣列求中位數 時間複雜度o log n m 這個演算法有一定的缺陷,僅做參考 2 如何解決hash衝突 3 調整陣列順序使奇數字於偶數前面 void reorderoddeven int pdata,unsigned int length 4 鍊錶中倒數第k個節點 listnode f...