fibfunc
Version:
22 lines (19 loc) • 422 B
JavaScript
/**
* 改进递归-摘出存储计算结果的功能函数
*/
var memoizer = function (func) {
let memo = [];
return function (n) {
if (memo[n] == undefined) {
memo[n] = func(n)
}
return memo[n]
}
};
var fibonacci = memoizer(function (n) {
if (n == 1 || n == 2) {
return 1
};
return fibonacci(n - 2) + fibonacci(n - 1);
})
module.exports = fibonacci