1.题目

【LeetCode】70.爬楼梯_leetcode

2.分析

经典递推题,建议用时5min。需要考虑特殊值的取法。

3.代码

class Solution:
def climbStairs(self, n: int) -> int:
if n ==1:
return 1

dp = [0] * (n+1) # n个台阶

# dp[i] 表示到第i阶台阶可以走的方法
dp[0] = 0
dp[1] = 1
dp[2] = 2
for i in range(3,n+1):
dp[i] = dp[i-1]+ dp[i-2] # 每次可以走1-2步
print(dp)
return dp[n]