トピック:
通常F(n)で表されるフィボナッチ数で、形成されるシーケンスはフィボナッチ数列と呼ばれます。数列は0と1で始まり、その後の各番号は前の2つの番号の合計です。あれは:
F(0)= 0、F(1)= 1
F(n)= F(n-1)+ F(n-2)、ここでn> 1
はnを与えます、F(n)を計算してください。例1:
入力:2
出力:1
説明:F(2)= F(1)+ F(0)= 1 + 0 = 1
例2:入力:3
出力:2
説明:F(3)= F(2)+ F(1)= 1 + 1 = 2
例3:入力:4
出力:3
説明:F(4)= F(3)+ F(2)= 2 + 1 = 3促す:
0 <= n <= 30
アイデア:
毎回現在の値と前の値を保存し、次の操作を実行します
コード:
/**
* @param {number} n
* @return {number}
*/
var fib = function(n) {
if(n == 0) {
return 0;
}
if(n == 1 || n == 2) {
return 1;
}
let curr = 1, prev = 1;
for(let i = 3; i <= n; i++) {
let sum = prev + curr;
prev = curr;
curr = sum;
}
return curr;
};