簡單演算法 33 爬樓梯

2022-08-01 07:24:06 字數 699 閱讀 6840

假設你正在爬樓梯。需要 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].我們可以知道最後一步可以上乙個台階或者上兩個台階。

**:

class

solution

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 ...