[
array
dp
math
matrix power
]
Leetcode 0509. Fibonacci Number
Problem statement
https://leetcode.com/problems/fibonacci-number/
This is very very classical problem and I think already everything was said about different solutions. Here is another straightforward solution, where we use lru_cache function and recursion.
Complexity
Time complexity is just O(n), space complexity is O(n) as well, because we use lru_cache.
Remark
Note, that there is also O(log n) time complexity solution as well if you need it for big n and evaluate given some modulo. However here n is very small and it is not worth it.
Code
class Solution:
@lru_cache(None)
def fib(self, N):
return N if N <= 1 else self.fib(N-1) + self.fib(N-2)