let cache={};
function memoizedAddTo80(n){
if(n in cache){
console.log(cache[n]);
}
else{
console.log("Long time");
cache[n]=n+80;
console.log(cache[n]);
}
}
console.log("1", memoizedAddTo80(5));
console.log("1", memoizedAddTo80(5));
console.log("1", memoizedAddTo80(6));
let calculations=0;
function fibonacciMaster(){
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];
}
}
};
}
const fasterFib= fibonacciMaster();
console.log("DP",fasterFib(10));
console.log("we did " + calculations +"calculations");