(Js)リートコード509。フィボナッチ数

トピック:

通常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;
};

演算結果:

おすすめ

転載: blog.csdn.net/M_Eve/article/details/113485034