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

as594042 单选题 共 个子题

已知爬楼梯问题的合法方法数满足:当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)
正在加载题目数据…
已答 /
子题
该题型需在试卷/作业中作答,单题练习暂不支持
答案解析
讨论
发布
登录后参与讨论 立即登录
发布讨论需先绑定并验证手机号 去绑定手机号
加载中…
我
我
回复 @
回复 @
发送
还没有人讨论,来发表第一条吧