以下用Python实现爬楼梯递推逻辑的代码中,正确的是?

cf830342 单选题 共 个子题

已知爬楼梯时每次可选择走1级或2级台阶,求到达第n级台阶的不同走法数,要求使用迭代递推实现以避免递归的重复计算与栈溢出问题,已知边界条件为$f(1)=1$、$f(2)=2$,递推式为$f(n)=f(n-1)+f(n-2)$。现有四个代码片段,请选出正确的实现。

A
def climb_stairs(n):
    return n
B
def climb_stairs(n):
    if n <= 2:
        return n
    else:
        return climb_stairs(n-1) + climb_stairs(n-2)
C
def climb_stairs(n):
    if n == 1:
        return 1
    elif n == 2:
        return 2
    a, b = 1, 2
    for _ in range(3, n+1):
        c = a + b
        a = b
        b = c
    return b
D
def climb_stairs(n):
    res = 1
    for i in range(1, n):
        res *= i
    return res
正在加载题目数据…
已答 /
子题
该题型需在试卷/作业中作答,单题练习暂不支持
答案解析
讨论
发布
登录后参与讨论 立即登录
发布讨论需先绑定并验证手机号 去绑定手机号
加载中…
我
我
回复 @
回复 @
发送
还没有人讨论,来发表第一条吧