单选题

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

赣ICP备20007335号-2