第27611题 单选
假设爬楼梯需要n阶到达楼顶,每次可爬1或2个台阶,以下哪个代码片段可以正确计算到达楼顶的不同方法数?

已知爬楼梯问题的合法方法数满足:当n=1时只有1种方法,n=2时有2种方法,n≥3时方法数为前两阶方法数之和

A
def climb_stairs(n):
    if n <= 2:
        return n
    return climb_stairs(n-1) + climb_stairs(n-2)
B
def climb_stairs(n):
    if n < 1:
        raise ValueError("n必须为正整数")
    dp = [] * (n + 1)
    dp[1], dp[2] = 1, 2
    for i in range(3, n + 1):
        dp[i] = dp[i-1] + dp[i-2]
    return dp[n]
C
def climb_stairs(n):
    a, b = 1, 2
    for _ in range(n):
        a, b = b, a + b
    return a
D
def climb_stairs(n):
    return 2 ** (n-1)
程序运行统计
暂无判题统计
提交0次 正确率0.00%
答案解析