Quick actions

cmd+k|ctrl+k

Navigation

Languages

Fibonacci_Memoized

Snippet info

Language

JavaScript

Visibility

public

Author

saurabhtiwari75844

Created

2023-03-20T11:08:15.663129Z

Updated

2023-03-20T11:25:23.370725Z


let calculations = 0;
function FibonacciMemoized() {
    let cache = {};
     return function fib(n) {
         calculations++;
         if(n in cache) {
             return cache[n];
         } else {
             if(n<2) {
                 return n;
             } else {
                 cache[n] = fib(n-1)+ fib(n-2);
                 return cache[n];
             }
         }
     }
}

function FibonacciMemoizedIter(n) {
     
  let answer = [0,1];
  for(let i=2; i<=n; i++) {
       
      answer.push(answer[i-1]+answer[i-2])
      
  }

  return answer.pop();
}

const MemoizedFibonacci = FibonacciMemoized();
console.log(MemoizedFibonacci(36));
console.log(FibonacciMemoizedIter(36));
console.log("we did " + calculations + " calulations" );
INFO