Leetcode-Easy 70. Climbing Stairs
21. Merge Two Sorted Lists
-
描述:
有n階樓梯,每步只能走1個或2個臺階,請問到達第n階樓梯一共有多少走法?
- 思路:
動態規劃
程式從 i=3 開始迭代,一直到 i=n 結束。每一次迭代,都會計算出多一級臺階的走法數量。迭代過程中只需保留兩個臨時變數a和b,分別代表了上一次和上上次迭代的結果。 為了便於理解,我引入了temp變數。temp代表了當前迭代的結果值。 - 程式碼
class Solution:
def climbStairs(self, n):
"""
:type n: int
:rtype: int
"""
# 遞迴 time limit
# if n==1 or n==2:
# return n
# return Solution.climbStairs(self,n-1)+Solution.climbStairs(self,n-2)
## 備忘錄演算法 time limit
# data={}
# if n==1 or n==2:
# return n
# if n in data:
# return data['n']
# else:
# value=Solution.climbStairs(self,n-1)+Solution.climbStairs(self,n-2)
# data['n']=value
# return value
## 動態規劃
if n==1 or n==2:
return n
first=1
second=2
temp=0
for i in range(n-2):
temp=first+second
first=second
second=temp
return temp
相關文章
- 70. Climbing StairsAI
- Climbing StairsAI
- Leetcode Climbing StairsLeetCodeAI
- 746. Min Cost Climbing StairsAI
- Leetcode-Climbing StairsLeetCodeAI
- Climbing Stairs leetcode javaAILeetCodeJava
- 爬樓梯(LintCode Climbing Stairs)AI
- LeetCode-EasyLeetCode
- Climbing Stairs 爬樓梯問題,每次可以走1或2步,爬上n層樓梯總方法 (變相fibonacci)AI
- [CareerCup] 9.1 Climbing Staircase 爬樓梯AI
- [LeetCode-Easy]344. Reverse String-逆置字串LeetCode字串
- 程式碼隨想錄演算法訓練營 | 動態規劃,509. 斐波那契數,70. 爬樓梯, 746. 使用最小花費爬樓梯演算法動態規劃
- 程式碼隨想錄演算法訓練營第三十八天 | 746. 使用最小花費爬樓梯,、70. 爬樓梯,509. 斐波那契數演算法
- 程式碼隨想錄演算法訓練營第35天 | 動態規劃1:509.斐波那契數、70.爬樓梯、746.使用最小花費爬樓梯演算法動態規劃
- 38天【程式碼隨想錄演算法訓練營34期】第九章 動態規劃part01 (● 理論基礎 ● 509. 斐波那契數 ● 70. 爬樓梯 ● 746. 使用最小花費爬樓梯)演算法動態規劃