题解 | #斐波那契数列#

斐波那契数列

https://www.nowcoder.com/practice/ee5d403c1172487f8c7915b3c3d924c6

const rl = require("readline").createInterface({ input: process.stdin });

var iter = rl[Symbol.asyncIterator]();

const readline = async () => (await iter.next()).value;

void async function () {

    // Write your code here

    // [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]

    const fib = (n=> {

        // 解法1:递归算法, 容易爆栈

        // if (n <= 2) return 1;

        // return fib(n - 1) + fib(n - 2);

        // 解法2: 动态规划

        if (n <= 2return 1;

        const num = [11];

        for (let i = 2i < ni++) {

            num.push(num[0] + num[1]);

            num.splice(01);

        }

        return num[1]

    }

    while(line = await readline()){

        console.log(fib(line));

    }

}()

全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务