LeetCode-70-爬楼梯

这篇具有很好参考价值的文章主要介绍了LeetCode-70-爬楼梯。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

题目描述:
假设你正在爬楼梯。需要 n 阶你才能到达楼顶。
每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?

题目链接:LeetCode-70-爬楼梯

解题思路:注释中有详解

代码实现:文章来源地址https://www.toymoban.com/news/detail-709375.html

class Solution {
    public int climbStairs(int n) {
        // 动规五部曲
        // 1. dp[i]: 走到第 i 阶有dp[i]种方法
        // 2. 递归公式:dp[i]=dp[i-1]+dp[i-2]  走到第3阶需要依赖第1个台阶走1步,第2个台阶走1步,和斐波那契数列一样
        // 3. 初始化:dp[0]=0; dp[1]=1 ; dp[2]=2
        // 4. 从前向后

        if (n==1){
            return 1;
        }
        if (n==2){
            return 2;
        }
        // 初始化
        int[] dp = new int[n+1];
        dp[0]=1;
        dp[1]=1;
        dp[2]=2;
        for (int i = 3; i <=n ; i++) {
            dp[i] = dp[i-1] + dp[i-2];
        }
        return dp[dp.length-1];
    }
}

到了这里,关于LeetCode-70-爬楼梯的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 算法Day38 | 动态规划,509. 斐波那契数, 70. 爬楼梯, 746. 使用最小花费爬楼梯

    动态规划是一种解决问题的算法思想。它通常用于优化问题,其中要求找到一个最优解或最大化(最小化)某个目标函数。 动态规划的核心思想是 将问题分解成更小的子问题,并通过存储子问题的解来避免重复计算 。这样,可以通过解决子问题来构建原始问题的解。动态规

    2024年02月09日
    浏览(44)
  • 【LeetCode热题100】【动态规划】爬楼梯

    题目链接:70. 爬楼梯 - 力扣(LeetCode) 就是个斐波那契数列,达到第三个台阶的跳法可以从第一个台阶直接跳两步或者是从第二个台阶跳一步,因此对于第n个台阶来说,可以从第n-2个台阶跳两步到达,也可以从第n-1个台阶到达,因此跳到第n个台阶的跳法等于前两个台阶的跳

    2024年04月11日
    浏览(63)
  • 算法训练第三十八天|动态规划理论基础、509. 斐波那契数 、70. 爬楼梯 、 746. 使用最小花费爬楼梯

    参考:https://programmercarl.com/%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html 动态规划是什么 动态规划,英文:Dynamic Programming,简称DP,如果某一问题有很多重叠子问题,使用动态规划是最有效的。 所以 动态规划中每一个状态一定是由上一个状态推导出来的 ,这一

    2024年02月04日
    浏览(31)
  • LeetCode使用最小花费爬楼梯(动态规划)

    链接: 使用最小花费爬楼梯 题目描述 算法流程(方法一) 编程代码 优化代码 算法流程(方法二) 编程代码 代码优化

    2024年02月15日
    浏览(25)
  • 动态规划之使用最小花费爬楼梯【LeetCode】

    LCR 088. 使用最小花费爬楼梯 状态表示 ( 这是最重要的 ):dp[i]表示以第i级台阶为楼层顶部,到达第i层台阶的最低花费。 状态转移方程 ( 最难的 ): dp[i] = min(dp[i-1]+cost[i-1], dp[i-2]+cost[i-2]); 初始化 :根据题意,我们需要知道到达第1层和第2层台阶的最低花费,第1层和第2层

    2024年03月16日
    浏览(33)
  • java算法day45 | 动态规划part07 ● 70. 爬楼梯 (进阶) ● 322. 零钱兑换 ● 279.完全平方数

    题目描述: 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬至多m (1 = m n)个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。 输入描述:输入共一行,包含两个正整数,分别表示n, m 输出描述:输出一个整数,表示爬到楼顶的方法数

    2024年04月14日
    浏览(40)
  • 算法 DAY45 动态规划07 70. 爬楼梯 322. 零钱兑换 279. 完全平方数 139. 单词拆分 多重背包

    和377. 组合总和 Ⅳ (opens new window)基本就是一道题了。 本题代码不长,题目也很普通,但稍稍一进阶就可以考察完全背包 动态规划五部曲 1、确定dp[j]的含义 dp[j] 凑成 j 的最少硬币的个数 2、确定递推公式 比如想凑成3, 如果手里有1,那么最小个数就是dp[2]+1 如果手里有2,那

    2024年02月02日
    浏览(49)
  • leetcode 动态规划(爬楼梯、零钱兑换、完全平方数)

    卡码网:57. 爬楼梯(opens new window) 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬至多m (1 = m n)个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。 输入描述:输入共一行,包含两个正整数,分别表示n, m 输出描述:输出一个整数,表

    2024年01月17日
    浏览(33)
  • LeetCode-70-爬楼梯

    题目描述: 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 题目链接:LeetCode-70-爬楼梯 解题思路:注释中有详解 代码实现:

    2024年02月09日
    浏览(40)
  • LeetCode刷题笔记【29】:动态规划专题-1(斐波那契数、爬楼梯、使用最小花费爬楼梯)

    动态规划(DP,Dynamic Programming)。 其解题思路对比 贪心算法的“直接选局部最优然后推导出全局最优” ;倾向于“ 由之前的结果推导得到后续的结果 ”。 很多时候二者具有相似性,不必死扣概念。 动态规划题目的核心是dp数组的概念和构建(递推公式); 所以具体的解题步骤

    2024年02月09日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包