力扣 简单 70.爬楼梯

文章目录

题目介绍

题解

思路分析:

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

代码实现:

java 复制代码
n是大于等于1的
class Solution {
    public int climbStairs(int n) {
        int[] dp = new int[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];
    }
}
相关推荐
薛之谦_14 分钟前
Java 全栈知识体系:从 IDEA 高效开发到 JVM、并发与 Stream 实战
java·jvm·intellij-idea
forest_0933 分钟前
多 Agent 协作第二课:交叉验证≠独立验证
人工智能·python·算法·机器学习·prompt·agi
纪念 2292 小时前
C++ 算法基础 (差分)
开发语言·c++·算法
文丑颜不良啊4 小时前
LeetCode2761~2780题目解析
java·leetcode
jyOverQ5 小时前
从零学 JVM(六):垃圾回收算法详解——标记清除、标记复制与标记整理
jvm·算法
IT枫斗者枫哥5 小时前
子线程断言失败,JUnit 为什么还显示通过?
java·后端
严肃小白兔7 小时前
第 06/24 期:神经网络的反向传播算法:从链式法则到梯度计算
人工智能·神经网络·算法
落羽的落羽7 小时前
【C++】C++17的主要特性
linux·服务器·开发语言·c++·算法·机器学习
考虑考虑7 小时前
JDK27中的Set.ofLazy
java·后端·java ee