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

ve680850 单选题 共 个子题

已知斐波那契数列定义为: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]
正在加载题目数据…
已答 /
子题
该题型需在试卷/作业中作答,单题练习暂不支持
答案解析
讨论
发布
登录后参与讨论 立即登录
发布讨论需先绑定并验证手机号 去绑定手机号
加载中…
我
我
回复 @
回复 @
发送
还没有人讨论,来发表第一条吧