美文网首页
70. Climbing Stairs

70. Climbing Stairs

作者: Icytail | 来源:发表于2017-11-12 01:15 被阅读0次

    Description:

    You are climbing a stair case. It takes n steps to reach to the top.

    Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top?

    Note: Given n will be a positive integer.

    Example 1:

    Input: 2
    Output:  2
    Explanation:  There are two ways to climb to the top.
    
    1. 1 step + 1 step
    2. 2 steps
    

    Example 2:

    Input: 3
    Output:  3
    Explanation:  There are three ways to climb to the top.
    
    1. 1 step + 1 step + 1 step
    2. 1 step + 2 steps
    3. 2 steps + 1 step
    

    My code:

    /**
     * @param {number} n
     * @return {number}
     */
    var climbStairs = function(n) {
        let num1 = 1, num2 = 2, temp = 0;
        if(n == 1 || n == 2) {
            return n;
        }
        for(let i = 3; i <= n; i++) {
            temp = num1 + num2;
            num1 = num2;
            num2 = temp;
        }
        return temp;
    };
    

    Note: 简单算一下前几个结果可以看出是斐波那契数列

    相关文章

      网友评论

          本文标题:70. Climbing Stairs

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