417d3b5fff
The bottom-up solution run in O(n) time instead of O(2^n) time, which the recursive solution runs as: ``` def fib(n): return fib(n - 2) + fib(n - 1) ``` Remember that exponential algorithms are usually recursive algorithms with multiple sibling calls to itself.
6 lines
122 B
Python
6 lines
122 B
Python
def fib(n):
|
|
cache = (0, 1)
|
|
for _ in range(n):
|
|
a, b = cache
|
|
cache = (b, a + b)
|
|
return cache[0]
|