您好,登錄后才能下訂單哦!
這篇文章主要介紹了python怎么解決爬樓梯問題的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇python怎么解決爬樓梯問題文章都會有所收獲,下面我們一起來看看吧。
【題目】
假設你正在爬樓梯。需要 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 階
【思路】
爬到第i步臺階,最后一步可能是從第i-1步臺階爬1個臺階,也可能是從第i-2步臺階排2個臺階。
我們使用dp數組存儲,dp[i]表示爬到第i步臺階可能的方法總數,那么dp[i] = dp[i - 1] + dp[i - 2]。
【代碼】
python版本
class Solution:
def climbStairs(self, n: int) -> int:
if n < 3:
return n
# dp[i] = dp[i-1] + dp[i-2]
dp = [1, 2]
for i in range(2, n):
dp.append(dp[i - 1] + dp[i - 2])
return dp[-1]
關于“python怎么解決爬樓梯問題”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“python怎么解決爬樓梯問題”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。