smj007

fibonacci numbers

Sep 2nd, 2025
289
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.65 KB | None | 0 0
  1. # TC: O(n)
  2. # SC : O(N)
  3.  
  4. class Solution:
  5.     # TC: O(n)
  6.     # SC : O(N)
  7.     def fib(self, n: int) -> int:
  8.         mem = {}
  9.         if n == 1:
  10.             return 1
  11.         if n == 0:
  12.             return 0
  13.         if n in mem:
  14.             return mem[n]
  15.  
  16.         mem[n] = self.fib(n-1) + self.fib(n-2)
  17.         return mem[n]
  18.  
  19.     # TC: O(n)
  20.     # SC : O(1)
  21.     def fib(self, n: int) -> int:
  22.         if n <= 1:
  23.             return n
  24.  
  25.         current = 0
  26.         prev1 = 1
  27.         prev2 = 0
  28.  
  29.         for i in range(2, n+1):
  30.             current = prev1 + prev2
  31.             prev2 = prev1
  32.             prev1 = current
  33.  
  34.         return current
  35.  
Advertisement
Add Comment
Please, Sign In to add comment