K12教育赛事综合服务平台
聚乐之家官方网站
下载聚乐之家官方App
专注青少年竞赛题库网站
已知斐波那契数列定义为F(0)=0,F(1)=1,当n≥2时F(n)=F(n-1)+F(n-2),以下均为逻辑正确的实现代码,其中空间复杂度最低的选项是:
def fib(n): if n <= 1: return n return fib(n-1) + fib(n-2)
def fib(n): a, b = 0, 1 for _ in range(n): a, b = b, a + b return a
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]
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]