DP: Fibonacci
by bhupendra negi
HTML
<script src="ttps://rawgit.com/eu81273/jsfiddle-console/master/console.js"></script>
JavaScript
// fibonacii with memoi=zation
const memory = (fn => {
let cache = {};
function inner(x) {
if (cache[x] !== undefined) {
console.log(`fetching from cache : ${x}`);
return cache[x];
} else {
console.log(`calculating ... for ${x}`);
let result = fn(x);
cache[x] = result;
return result;
}
}
return inner;
})
// fibonacii generator function
const fibo = memory(n => {
if (n === 1 || n === 2) {
return 1
} else return fibo(n - 1) + fibo(n - 2);
})
// checking
console.log(fibo(5));
console.dir(fibo);
console.log(fibo(3));
//console.log(fibo(2));