0


力扣 简单 70.爬楼梯

文章目录

题目介绍

在这里插入图片描述

题解

思路分析:
在这里插入图片描述

  1. 确定dp数组以及下标的含义:dp[i]: 爬到第i层楼梯,有dp[i]种方法
  2. 确定递推公式:从dp[i]的定义可以看出,dp[i] 可以有两个方向推出来。首先是dp[i - 1],上i-1层楼梯,有dp[i - 1]种方法,那么再一步跳一个台阶不就是dp[i]了么。还有就是dp[i - 2],上i-2层楼梯,有dp[i - 2]种方法,那么再一步跳两个台阶不就是dp[i]了么。所以dp[i] = dp[i - 1] + dp[i - 2]。
  3. dp数组初始化:dp[1] = 1,dp[2] = 2
  4. 确定遍历顺序:从递推公式dp[i] = dp[i - 1] + dp[i - 2];中可以看出,遍历顺序一定是从前向后遍历的。
  5. 举例推导dp数组:从上图也可以看出来

代码实现:

n是大于等于1的
classSolution{publicintclimbStairs(int n){int[] dp =newint[n +1];
        dp[0]=1;
        dp[1]=1;for(int i =2; i <= n; i++){
            dp[i]= dp[i -1]+ dp[i -2];}return dp[n];}}
标签: leetcode 算法 java

本文转载自: https://blog.csdn.net/qq_51352130/article/details/143193632
版权归原作者 liuyang-neu 所有, 如有侵权,请联系我们删除。

“力扣 简单 70.爬楼梯”的评论:

还没有评论