【LeetCode 简单题】15-爬楼梯
生活随笔
收集整理的這篇文章主要介紹了
【LeetCode 简单题】15-爬楼梯
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
聲明:
今天是第15道題。假設你正在爬樓梯,需要?n?階你才能到達樓頂,每次你可以爬 1 或 2 個臺階。你有多少種不同的方法可以爬到樓頂呢?注意:給定?n?是一個正整數。以下所有代碼經過樓主驗證都能在LeetCode上執行成功,代碼也是借鑒別人的,在文末會附上參考的博客鏈接,如果侵犯了博主的相關權益,請聯系我刪除
(手動比心?( ′・?・` ))
正文
題目:假設你正在爬樓梯。需要?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 階解法1。這是個動態規劃問題,類似于斐波那契數列,用遞歸的思想去理解就容易了,走到第n級的階梯走法有2種,從第n-1級階梯走上來,或者從第n-2級階梯走上來,迭代公式是:,而和又可由這個迭代公式確定,自此,只需要確定邊界值,,代碼實現如下。
class Solution:def climbStairs(self, n):""":type n: int:rtype: int"""if n == 1:return 1result=[1,1] # 這里記錄的是第0級和第1級階梯的值for i in range(2,n+1): # i從2開始,到n結束result.append(result[i-1]+result[i-2])return result[n]?
結尾
解法1:https://blog.csdn.net/qq_35793358/article/details/77451648
?
?
總結
以上是生活随笔為你收集整理的【LeetCode 简单题】15-爬楼梯的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 华为 AI 芯片诞生;马云重当中国首富;
- 下一篇: python精选04集(选择语句)