分享一下自己写的Python斐波那契代码:
O(2n^2) 递归写法
# O(2n^2)
def fib_o2n2(n):
if n == 0 or n == 1: return n
return fib_o2n2(n-1) + fib_o2n2(n-2)
print(fib_o2n2(int(input("Fibonacci, O(2n^2): "))))
O(n) 普通写法
# O(n)
def fib_on(n):
if n == 0 or n == 1: return n
a = 0
b = 1
for i in range(n-1):
b = a + b
a = b - a
return b
print(fib_on(int(input("Fibonacci, O(n): "))))
1996

被折叠的 条评论
为什么被折叠?



