1).递归 def fib_recur(n): assert n >= 0, "n > 0" if n <= 1: return n return fib_recur(n-1) + fib_recur(n-2) for i in range(1, 20): print(fib_recur(i), end=' ') 2)循环 def fib_loop(n): a, b = 0, 1 for i in range(n+1): a, b = b, a+b return a…
10- I. 斐波那契数列 方法一 Top-down 用递归实现 def fibonacci(n): if n <= 0: return 0 if n == 1: return 1 return fibonacci(n-1) + fibonacci(n-2) 不过这种方法在leetcode上超时了. 方法二 Bottom-up 用循环实现 class Solution: def fib(self, n: int) -> int: if n <= 0: return 0 if n == 1…