第29149题 单选题
下列正确实现斐波那契数列第n项的代码中,空间复杂度最低的是?

已知斐波那契数列定义为F(0)=0,F(1)=1,当n≥2时F(n)=F(n-1)+F(n-2),以下均为逻辑正确的实现代码,其中空间复杂度最低的选项是:

A
def fib(n):
    if n <= 1:
        return n
    return fib(n-1) + fib(n-2)
B
def fib(n):
    a, b = 0, 1
    for _ in range(n):
        a, b = b, a + b
    return a
C
def fib(n):
    if n <= 1:
        return n
    dp = [0] * (n + 1)
    dp[0], dp[1] = 0, 1
    for i in range(2, n + 1):
        dp[i] = dp[i-1] + dp[i-2]
    return dp[n]
D
def fib(n, memo={}):
    if n in memo:
        return memo[n]
    if n <= 1:
        return n
    memo[n] = fib(n-1, memo) + fib(n-2, memo)
    return memo[n]
程序运行统计
暂无判题统计
提交0次 正确率0.00%
答案解析