I am implementing a Fibonacci sequence with Python. And I used an array ("[]") for memoization, but I get an IndexError: list assignment index out of range
.
However, using an object ("{}") works fine. What's the difference?
code
def fib(n):
if n <= 1:
memo[n] = n
if n not in memo:
memo[n] = fib(n-2) + fib(n-1)
return memo[n]
# memo = [] not work.
# memo = {} work.
print(fib(6))