题目: https://leetcode-cn.com/problems/climbing-stairs/
思路:
我们会用到动态规划的算法思想-可以分成多个子问题,爬第 n 阶楼梯的方法数量,等于 2 部分之和:
爬上n−1阶楼梯的方法数量。因为再爬 1 阶就能到第 n 阶
爬上n−2阶楼梯的方法数量,因为再爬 2 阶就能到第 n 阶
相当于非常经典的斐波那契数列题
代码实现:
/**
* @param {number} n
* @return {number}
*/
var climbStairs = function(n) {
let climb = []
climb[0] = 1
climb[1] = 1
for(let i = 2; i <= n; i++){
climb[i] = climb[i-1] + climb[i-2]
}
return climb[n]
};