lintCode 爬楼梯

假设你正在爬楼梯,需要n步你才能到达顶部。但每次你只能爬一步或者两步,你能有多少种不同的方法爬到楼顶部?

Example 1:

Input:  n = 3
Output: 3

Explanation:
1) 1, 1, 1
2) 1, 2
3) 2, 1
total 3.

Example 2:

Input:  n = 1
Output: 1
Explanation:  only 1 way.

解答:

/**
 * @param n: 楼梯的阶数
 * @return:  result 爬楼梯的方法数
 */
const climbStairs = function (n) {
    if(n <= 3){
        //前三阶直接返回结果
        return n;
    }else{
        let result = 0;
        // 二阶的方法数
        let num1 = 2;
        // 三阶的方法数
        let num2 = 3
        // 从第四阶开始循环叠加
        for(let i=3;i<n;i++){
            res = num1+num2;
            num1 = num2;
            num2 = res;
        }
        return result;
    }
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容