刷刷刷 Day 38 | 70. 爬楼梯

该文章介绍了如何使用动态规划方法解决LeetCode上的爬楼梯问题。通过定义dp数组,遵循动归五部曲,确定递推公式dp[i]=dp[i-1]+dp[i-2],并初始化dp[1]=1,dp[2]=2,最后遍历计算所有台阶的方法数。重点在于理解和应用动态规划思想。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

70. 爬楼梯
LeetCode题目要求

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

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

示例

输入:n = 2
输出:2
解释:有两种方法可以爬到楼顶。
1. 1 阶 + 1 阶
2. 2 阶
解题思路

使用动态规划,依旧是动归五部曲

  1. 确定数组 dp[i] i 为台阶,dp[i] 对应走这个太极的方法数

  2. 确定递推公式 dp[i] = dp[i-1] + dp[i-2]

  3. 初始化数组 dp[1] = 1; dp[2] = 2

  4. 确定遍历顺序 从前往后

  5. 举例推导数组
    /**
    1阶 1 1
    2阶 1+1 2
    2
    3阶 1+1+1 3
    1+2
    2+1
    4阶 1+1+1+1 5
    1+1+2
    1+2+1
    2+1+1
    2+2

    走 4 阶,就相当于走 3 阶 和 1阶;走 3 阶 就相当于于走 2 阶 和 1 阶
     递推公式为 dp[i] = dp[i-1] + dp[i-2]
      */

上代码

class Solution {
    public int climbStairs(int n) {

        // 先搞五部曲
        // 1. 确定数组 
        // 2. 确定递推公式
        // 3. 初始化数组
        // 4. 确定遍历顺序
        // 5. 举例推导数组

        // 由于每次只能爬 1 或 2 个台阶

        if (n == 1) {
            return 1;
        }
        if (n == 2) {
            return 2;
        }

        // dp[i] 爬到第 i 个台阶,有 dp[i] 种方法
        int[] dp = new int[n+1]; 

        // 1 阶 1 种方法
        dp[1] = 1;
        // 2 阶 2 种方法
        dp[2] = 2;

        for (int i = 3; i <= n; i++) {
            dp[i] = dp[i-1] + dp[i-2];
        }
       
        return dp[n]; 
    }
}
重难点

理解动归五部曲

附:学习资料链接

内容概要:该论文深入研究了液压挖掘机动臂下降势能回收技术,旨在解决传统液压挖掘机能耗高的问题。提出了一种新型闭式回路势能回收系统,利用模糊PI自整定控制算法控制永磁无直流电动机,实现了变转速容积调速控制,消除了节流和溢流损失。通过建立数学模型和仿真模型,分析了不同负载下的系统性能,并开发了试验平台验证系统的高效性和节能效果。研究还涵盖了执行机构能量分布分析、系统元件参数匹配及电机控制性能优化,为液压挖掘机节能技术提供了理论和实践依据。此外,通过实验验证,该系统相比传统方案可降低28%的能耗,控制系统响应时间缩短40%,为工程机械的绿色化、智能化发展提供了关键技术支撑。 适合人群:从事工程机械设计、制造及维护的工程师和技术人员,以及对液压系统节能技术感兴趣的科研人员。 使用场景及目标:①理解液压挖掘机闭式回路动臂势能回收系统的原理和优势;②掌握模糊PI自整定控制算法的具体实现;③学习如何通过理论建模、仿真和实验验证来评估和优化液压系统的性能。 其他说明:此研究不仅提供了详细的理论分析和数学建模,还给出了具体的仿真代码和实验数据,便于读者在实际工作中进行参考和应用。研究结果表明,该系统不仅能显著提高能源利用效率,还能延长设备使用寿命,降低维护成本,具有重要的工程应用价值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值