Skip to content

Instantly share code, notes, and snippets.

@yyong37
Created March 25, 2016 15:22
Show Gist options
  • Save yyong37/62cb711bb435ac45515f to your computer and use it in GitHub Desktop.
Save yyong37/62cb711bb435ac45515f to your computer and use it in GitHub Desktop.
Javascripts
var memoizer = function (memo, formula) {
var recur = function(n) {
var result = memo[n];
if(typeof result !== 'number') {
result = formula(recur, n);
memo[n] = result;
}
return result;
};
return recur;
};
var fibonacci = memoizer([0, 1], function(recur, n) {
return recur(n-1) + recur(n-2);
});
var factorial = memoizer([1, 1], function (recur, n) {
return n * recur(n-1);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment