美文网首页
70.爬楼梯

70.爬楼梯

作者: 最尾一名 | 来源:发表于2020-03-01 23:00 被阅读0次

    原题

    https://leetcode-cn.com/problems/climbing-stairs/

    解题思路

    用 F[n] 表示当有 n 阶楼梯时的路线数。

    F[n] = F[n-1] + F[n-2] (因为从第 n - 1 和 第 n - 2 阶都可以一步到达楼顶)

    即:F[n] 是斐波那契数列的第 n - 1 项。

    代码

    /**
     * @param {number} n
     * @return {number}
     */
    var climbStairs = function(n) {
        if (n < 3) return n;
        let a = 1, b = 1;
        while (--n >= 0) {
            const c = b;
            b = a + b;
            a = c;
        }
        return a;
    };
    

    复杂度

    • 时间复杂度 O(N)
    • 空间复杂度 O(1)

    相关文章

      网友评论

          本文标题:70.爬楼梯

          本文链接:https://www.haomeiwen.com/subject/qkqdkhtx.html