[70] 爬楼梯

59 阅读1分钟

思路

  • 1.定义一个memo数组,然后初始化memo[1]=1,memo[2]=2
  • 2.for循环从3开始,memo[i]=memo[i-2]+memo[i-1]
  • 3.return memo[n]
/*
 * @lc app=leetcode.cn id=70 lang=javascript
 *
 * [70] 爬楼梯(动态规划)
 */

// @lc code=start
/**
 * @param {number} n
 * @return {number}
 * 1.定义一个memo数组,然后初始化memo[1]=1,memo[2]=2
 * 2.for循环从3开始,memo[i]=memo[i-2]+memo[i-1]
 * 3.return memo[n]
 */
var climbStairs = function (n) {
  const memo = []
  memo[1] = 1
  memo[2] = 2
  for (let i = 3; i <= n; i++) {
    memo[i] = memo[i - 2] + memo[i - 1]
  }
  return memo[n]
}
// @lc code=end