天天看點

js + leetcode刷題:No.70爬樓梯

假設你正在爬樓梯。需要 n 階你才能到達樓頂。

每次你可以爬 1 或 2 個台階。你有多少種不同的方法可以爬到樓頂呢?

注意:給定 n 是一個正整數。

示例 1:

輸入: 2

輸出: 2

解釋: 有兩種方法可以爬到樓頂。

1、 1 階 + 1 階

2、 2 階

示例 2:

輸入: 3

輸出: 3

解釋: 有三種方法可以爬到樓頂。

1、 1 階 + 1 階 + 1 階

2、 1 階 + 2 階

3、 2 階 + 1 階

// 此題實則考察:斐波那契數列
/**
 * @param {number} n
 * @return {number}
 */
var climbStairs = function(n) {
    let arr = [0,1,2,3]
    if (n>3){
        for (let i=4; i<=n; i++){
            arr[i] = arr[i-2] + arr[i-1]
        }
    }
    return arr[n]
};