170. Function Memoization
def fibonacci(n, memo={}):
if n in memo:
return memo[n]
if n <= 2:
return 1
memo[n] = fibonacci(n - 1, memo) + fibonacci(n - 2, memo)
return memo[n]
print(fibonacci(10)) # Output: 55from functools import lru_cache
@lru_cache(maxsize=None)
def factorial(n):
return n * factorial(n - 1) if n > 1 else 1
print(factorial(10)) # Output: 3628800Last updated