LeetCode-基础动态规划-70. 爬楼梯
生活随笔
收集整理的這篇文章主要介紹了
LeetCode-基础动态规划-70. 爬楼梯
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
描述
70.爬樓梯
假設你正在爬樓梯。需要 n 階你才能到達樓頂。
每次你可以爬 1 或 2 個臺階。你有多少種不同的方法可以爬到樓頂呢?
注意:給定 n 是一個正整數。
示例 1:
輸入: 2
輸出: 2
解釋: 有兩種方法可以爬到樓頂。
示例 2:
輸入: 3
輸出: 3
解釋: 有三種方法可以爬到樓頂。
思路一:遞歸解法
題目分析:
- 第1級臺階:1種方法(爬1級)
- 第2級臺階:2中方法(爬1級或2級)
- 第n級臺階:從第n-1級臺階爬1級或從第n-2級臺階爬2級
- 遞推公式:Fn=Fn-1+Fn-2
- 這個就是一個斐波那契數列
- 但是用遞歸的解法時間復雜度太高,超出時間限制了
思路二:動態規劃
時間復雜度:O(n)
空間復雜度:O(n)
動態規劃優化
時間復雜度:O(n)
空間復雜度:O(1)
總結
以上是生活随笔為你收集整理的LeetCode-基础动态规划-70. 爬楼梯的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode-动态规划基础题-509
- 下一篇: LeetCode-动态规划基础题-746