第11648题 单选
Python实现爬楼梯问题的动态规划代码横线处应填写的内容是?

假设你正在爬楼梯,每次可以爬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]
A

dp[i] = 2 * dp[i - 1] + dp[i - 2]

B

dp[i] = dp[i - 1] + dp[i - 2]

C

dp[i] = 2 * dp[i - 2]

D

dp[i] = dp[i - 1] + 2 * dp[i - 2]