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

已知爬楼梯时每次可选择走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
程序运行统计
暂无判题统计
提交0次 正确率0.00%
答案解析