假设你正在爬楼梯,每次可以爬1阶或2阶。给定楼梯的阶数 n ,计算有多少种不同的方法可以爬到楼顶。
以下Python代码的横线处应该填写?( )
def climbStairs(n):
if n == 1:
return 1
if n == 2:
return 2
# 初始化前两阶楼梯的数据
dp = [0] * (n + 1)
dp[1] = 1
dp[2] = 2
# 从第3阶楼梯开始,计算每一阶楼梯的爬法数量
for i in range(3, n + 1):
__________
return dp[n]
dp[i] = 2 * dp[i - 1] + dp[i - 2]
dp[i] = dp[i - 1] + dp[i - 2]
dp[i] = 2 * dp[i - 2]
dp[i] = dp[i - 1] + 2 * dp[i - 2]