这题 之前写过, 但是之前509不用取模 509也能用递归,我这题直接递归没有对,好像就是考动态规划的内容,看了解析,发现这个代码比较好,
var fib = function(n) {
// 0 1 1 2 3 5 8 13 21...
const arr = [0,1];
for(let i = 2; i <= n; i ++) {
arr[i] = (arr[i-1] + arr[i-2]) % 1000000007
}
return arr[n]
};
之前509的代码
var fib = function (n) {
/* if (n === 0 || n === 1) {
return n;
}
return fib(n - 1) + fib(n - 2); */
// 方法二
let catche = [];
for (let i = 0; i <= n; i++) {
if (i === 0 || i === 1) {
catche[i] = i;
} else {
catche[i] = catche[i - 1] + catche[i - 2]
}
}
return catche[n]
};