剑指Offer面试题9:斐波那契数列(js实现)
题目描述:写一个函数,输入n,求斐波那契数列的第n项.
递归
//过多的重复计算
function fibonacci(n) {
if(n === 0) return 0;
if(n === 1) return 1;
return fibonacci(n-1) + fibonacci(n-2);
}
</html>
优化
//从下往上计算,时间复杂度为O(n)
function fibonacci(n) {
var arr = [0,1];
for(var i = 2; i <= n; i++) {
arr[i] = arr[i-1] + arr[i-2];
}
return arr[n];
}