Memoization

Run Settings
LanguageJavaScript
Language Version
Run Command
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");
Editor Settings
Theme
Key bindings
Full width
Lines