(45)剑指 Offer 10- I. 斐波那契数列 -[509] 斐波那契数

124 阅读1分钟

这题 之前写过, 但是之前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]

};

本题力扣直达