使用 JavaScript 解決經典爬樓梯問題

小蔥伴逗虎發表於2020-10-22

1、題目描述

爬樓梯需要 n (n為正整數)階才能到達樓頂。
每次可以爬 1 或 2 個臺階。求有多少種不同的方法可以爬到樓頂

2、解題思路

1、分析題意不難發現:
爬第 n 階樓梯的方法數量等於 2 部分之和
即爬上 n-1 階樓梯和爬上 n-2 階樓梯的方法數量之和
2、定義容器陣列存放爬第 n 階樓梯的方法數量陣列
(其實該陣列元素為斐波那契數列)

3、解題程式碼

/**
 * @param {number} n
 * @return {number}
 */
var climbStairs = function(n) {
    let fibArr = [];
    fibArr[0] = fibArr[1] = 1;
    for(let i = 2; i <= n; i++) {
        fibArr[i] = fibArr[i - 1] + fibArr[i - 2];
    }
    return fibArr[n];
};

相關文章