70.爬楼梯---js解法

题目描述:

假设你正在爬楼梯。需要 n 阶你才能到达楼顶。

每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?

注意:给定 n 是一个正整数。

爬楼梯


70.爬楼梯---js解法_第1张图片


解题思路:

使用动态规划,创建一个记忆化的数组
1阶 1 1种
2阶 1+1 2 2种
3阶 memo[3] = memo[3-1] + memo[3-2]
= memo[2] + memo[1]
= 2+1=3
1+1+1 2+1 1+2 3种

 var climbStairs = function(n) {
          let memo  = []
          memo[1]=1;
          memo[2]=2;
          for(let i=3;i<=n;i++){
              memo[i] = memo[i-1] + memo[i-2]
          }
          return memo[n]
        };

你可能感兴趣的:(leetcode)