劍指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];
}