假設你正在爬樓梯。需要 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 步
解題思路:
利用遞推公式dp[i] = dp[i-1] + dp[i-2].我們可以知道最後一步可以上乙個台階或者上兩個台階。
**:
classsolution
if(n == 2
)
vector
dp(n,0
); dp[
0] = 1
; dp[
1] = 2
;
for(int i = 2; i < n; ++i)
return dp[n-1
]; }
};
python爬樓梯演算法 爬樓梯(Python3)
假設你正在爬樓梯。需要 n 階你才能到達樓頂。每次你可以爬 1 或 2 個台階。你有多少種不同的方法可以爬到樓頂呢?注意 給定 n 是乙個正整數。示例 1 輸入 2 輸出 2 解釋 有兩種方法可以爬到樓頂。1 階 1 階 和 2 階 解題思路 實現了兩種方法,但是第一種超出時間限制 因為遞迴的時候方...
爬樓梯演算法
有n階樓梯,有1,2,3 走m步走完樓梯,一共有多少種走法,並輸出所有的走法 設走n階台階的走法數為 f n 可以得到 f 1 1 f 2 2 f 3 4 對於n 3時,縮小問題規模 最後一步上乙個台階的話,之前上了n 1個台階,走法為f n 1 最後一步上兩個台階的話,之前上了n 2個台階,走法為...
70 爬樓梯(簡單)
解題思路1 使用斐波那契序列 從第二個之後第n個結果為n 1,n 2項之和。使用遞迴呼叫。def climbstairs n if n 0 return 0if n 1 return 1if n 2 return 2if n 2 return climbstairs n 1 climbstairs ...