假設你正在爬樓梯。需要 n 階你才能到達樓頂。
每次你可以爬 1 或 2 個台階。你有多少種不同的方法可以爬到樓頂呢?
示例 1:
輸入:n = 2
輸出:2
解釋:有兩種方法可以爬到樓頂。
1. 1 階 + 1 階
2. 2 階
示例 2:
輸入:n = 3
輸出:3
解釋:有三種方法可以爬到樓頂。
1. 1 階 + 1 階 + 1 階
2. 1 階 + 2 階
3. 2 階 + 1 階
提示:
1 <= n <= 45
解答:
代碼:
var climbStairs = function(n) {
let fibArr = [];
fibArr[1] = 1;
fibArr[2] = 2;
for(let i = 3; i <= n; i++) {
fibArr[i] = fibArr[i - 1] + fibArr[i - 2];
}
return fibArr[n];
};
console.log(climbStairs(5)) // 8
結果打印
具體如何計算 遞歸的算法
注:題目來自力扣LeetCode https://leetcode.cn/problems/...