Advertisement
exmkg

Untitled

Aug 23rd, 2024
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.73 KB | None | 0 0
  1. class Solution {
  2.     private int[] f;
  3.  
  4.     /*
  5.     // T(0) = O(1)
  6.     // T(1) = O(1)
  7.     // T(n) = T(n - 1) + T(n - 2)
  8.     // T(n) = O(F(n)) = O(2^n)
  9.     // F(n) = F(n - 1) + F(n - 2)
  10.            <= F(n - 1) + F(n - 1)
  11.            <= G(n - 1) + G(n - 1)
  12.            <= G(n)
  13.            <= 2^n
  14.    
  15.     // T
  16.    
  17.     // G(n) = G(n - 1) + G(n - 1)
  18.             = 2 * G(n - 1)
  19.     // G(0) = 1
  20.     // G(n) = 2^n
  21.     */
  22.  
  23.     // T: O(n)
  24.     // S: O(n)
  25.  
  26.     private int fib_(int n) {
  27.          if (n <= 1) return n;
  28.          if (f[n] == 0) {
  29.             f[n] = fib_(n - 1) + fib_(n - 2);
  30.          }
  31.          return f[n];
  32.     }
  33.  
  34.     public int fib(int n) {
  35.         f = new int[n + 1]; // 0..n
  36.         return fib_(n);
  37.     }
  38. }
  39.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement