LeetCode 70. 爬楼梯

LeetCode70 爬楼梯 LeetCode70 爬楼梯题目解题解题一:制表法自上而下递归解题二:动态规划自下而上递推解题三:矩阵快速幂解题四:通项公式 题目 解题 与 LeetCode《程序员面试金典》面试题 08.01. 三步问题 类似 解题一:制表法自上而下递归 // javascript var climbStairs = function(n) { let memos = new Array(n + 1).fill(-1); // 制表 return climbStairsHelper(n, memos); 阅读详情

题目链接:LeetCode 70. 爬楼梯

题意:

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

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

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

示例 1:

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

解题思路:

    典型的动态规划,斐波那契数列

class Solution {
public:
    int climbStairs(int n) {
        int f1 = 1, f2 = 2;
        int f3;
        if(n < 3) {
            return n;
        }
        for(int i = 2; i < n; i++) {
            f3 = f1 + f2;
            f1 = f2;
            f2 = f3;
        }
        return f3;
    }
};
【简单】力扣算法题解析LeetCode70:爬楼梯 爬楼梯问题要求计算爬到第 n 阶台阶的方法数,每次可爬 1 或 2 阶。通过动态规划,将问题转化为斐波那契数列:dp[i] = dp[i-1] + dp[i-2]。初始条件为 dp[1]=1,dp[2]=2。优化空间复杂度至 O(1),仅用两个变量滚动更新。Java 实现通过循环计算,最终返回 prev2 作为结果。时间复杂度 O(n),空间复杂度 O(1),适用于 n 较大时的高效求解。 阅读详情

相关推荐

python【力扣LeetCode算法题库】70-爬楼梯

爬楼梯 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。 示例 1: 输入: 2 输出: 2 解释: 有两种方法可以爬到楼顶。 1 阶 + 1 阶 2 阶 示例 2: 输入: 3 输出: 3 解释: 有三种方法可以爬到楼顶。 3. 1 阶 + 1 阶 + 1 阶 4. 1 阶 + 2 ...

NJU phd 在读。 1169

力扣【LeetCode】—— 70. 爬楼梯【java】

题目地址:https://leetcode-cn.com/problems/climbing-stairs/

眉头的骰 886

Buck-Boost电路实战:如何用LM2596模块快速搭建升降压电源(附元件选型指南)

本文详细介绍了如何使用LM2596模块快速搭建Buck-Boost升降压电路,包括硬件选型、电路搭建、示波器实测和进阶技巧。通过实测数据和避坑指南,帮助电子工程师解决电压不稳定、效率低下等常见问题,提升DC-DC变换器的设计水平。

weixin_30485379的博客 110

《LeetCode力扣练习》第70题 爬楼梯 Java

《LeetCode力扣练习》第70题 爬楼梯 Java 一、资源 题目: 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 示例 1: 输入:n = 2 输出:2 解释:有两种方法可以爬到楼顶。 1 阶 + 1 阶 2 阶 示例 2: 输入:n = 3 输出:3 解释:有三种方法可以爬到楼顶。 1 阶 + 1 阶 + 1 阶 1 阶 + 2 阶 2 阶 + 1 阶 提示: 1 <= n <= 45 来源:力扣

XRT_knives的博客 800

【windows】【系统还原】亦是美kms执行一键关闭defender 之后,windows defender 被卸载了,无论如何都打不开

还是执行 都没有明显效果 那么,我最后是怎么解决得呢? 一、打开控制面板(任务栏搜索kzmb)

weixin_41899098的博客 6905

Vue3 - Element Plus 全局修改更换主题色配置详细教程,element-plus自定义主题色全局替换主色调强力解决方案,支持动态修改主题颜色/动态皮肤,将默认蓝色主题色更换为其他颜色!

vue3,nuxt3,element-plus,组件库,主题色,修改主题颜色,更换主题色,如何修改组件默认主题蓝色,项目主题色定制,修改失败,主题色覆盖不了,:root直接修改,hover颜色没改,自定义主题色,vue3全局设置elementPlus主题色最新详细修改教程,怎么修改全局的颜色,scss变量,覆盖原来的主题色改为自己的颜色,统一替换,有没有好办法,颜色不变,失败,无效,动态主题切换,主题颜色怎么在项目里直接改,plus主题色更换,覆盖默认主题色,最强最好用,设置主题色,换肤,皮肤,动态更换

🏆 前端领域优质创作者 1万+

【LeetCode力扣】70. 爬楼梯 (简单)

我们可以用F(n)来表示爬到第n个阶梯的总方案数,因为一次可以上1或2个阶梯,所以最后一步可能跨了1个台阶,也可能跨了2个台阶;意思就是最后一步可能是从第n-1个台阶跨到了第n个台阶,或者是从第n-2个台阶跨到了第n个台阶;

m0_65277261的博客 1818

AUTOSAE软件配置-达芬奇( DaVinci Configurator)从新建工程开始

方法1,直接使用案例工程,一般SIP包会有一个创建好的案例工程,在这样的路径YOUR_SIP_DIR/Applications/SipAddon/StartApplication下面直接打开这个*.dpa文件即可看到已经预先做好的工程:但是,这个也不是全的,也不一定完全正确,至少MCAL是没有配置好的(MCAL是IC厂商提供的,并不归属SIP包的一部分)。这样就需要你自己去配置你想要的模块,修改里面的错误。

m0_49148264的博客 2937

LeetCode 力扣 70. 爬楼梯

题目描述(简单难度) 爬楼梯,每次走 1 个或 2 个台阶,n 层的台阶,总共有多少种走法。 解法一 暴力解法 用递归的思路想一下,要求 n 层的台阶的走法,由于一次走 1 或 2 个台阶,所以上到第 n 个台阶之前,一定是停留在第 n - 1 个台阶上,或者 n - 2 个台阶上。所以如果用 f ( n ) 代表 n 个台阶的走法。那么, f ( n ) = f ( n - 1) + f ( ...

wind_liang的博客 1350

【PostgreSQL教程】PostgreSQL 高级篇之子查询

子查询也可称为内部查询、嵌套查询,指的是在 PostgreSQL 查询中的 WHERE 子句中嵌入查询语句。一个 SELECT 语句的查询结果能够作为另一个语句的输入值。子查询可以与 SELECT、INSERT、UPDATE 和 DELETE 语句一起使用,并可使用运算符如 =、、>=、

No8g攻城狮的博客 1206

决策变量乘积项的线性化

介绍了决策变量相乘情况下的线性化,并用案例进行线性化演示,其中针对连续变量相乘的情况介绍了McCormick包络的近似线性化方法

Linshaodan520的博客 1842

70. 爬楼梯【 力扣(LeetCode) 】

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

yyh520025的博客 1577

【OpenClaw从入门到精通】第48篇:企业“养虾”合规手册——审批备案+专网隔离+全流程管控(2026企业版)

随着OpenClaw在企业场景的规模化应用,“无审批部署、无备案运行、无隔离防护”已成为安全事件的主要诱因。本文基于启明星辰《OpenClaw类智能应用安全指引V0.1》,结合金融、能源行业头部企业落地实践,构建“审批-评估-备案-管控”全流程合规框架。核心内容包括四步审批备案流程、专网隔离部署规范、3套可直接复用的合规文档模板(使用申请单、安全评估报告、备案登记表),以及个人使用备案简化方案。通过本文,企业可建立“有据可依、有章可循”的OpenClaw管理体系,实现“专网部署、数据隔离、最小权限、全程监控

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 462

力扣 leetcode70. 爬楼梯C++三种方法实现优化

力扣 leetcode70. 爬楼梯C++三种方法实现优化 leetcode70. 爬楼梯 class Solution { public: int climbStairs(int n) { //我们假设现在在第n个台阶上 那么其前一步一共有两种可能 //1. 在第n-1级台阶上 //2. 在第n-2级台阶上 //方法1 递归 初始为dp[1] = 1 dp[2] = 2; 该方法由于需要计算重复信息 会导致超时

qq_36711295的博客 822

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

【LeetCode】70.爬楼梯

我们从最后一级台阶n开始分析,有两种方法可以上去,n-1爬一次即可,n-2需要两个台阶即可到达第n个台阶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?提交不能通过,超出时间限制了,时间复杂度是O(2^n)在vscode里运行是没有问题的,放到力扣里就报错了。需要 n 阶你才能到达楼顶。当前层爬楼梯方法数等于前两层爬楼梯数相加。注意:给定 n 是一个正整数。: 有两种方法可以爬到楼顶。: 有三种方法可以爬到楼顶。

weixin_63135906的博客 1135

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

力扣70. 爬楼梯

这道题很显然属于斐波那契数列的一个变体,所以第一想法是使用递归去做。于是很容易得到公式f(n)=f(n-1)+f(n-2) f(1)=1 f(2)=2,是一个多路递归。但是如果单纯递归这道题会超时,所以还需要加上一个备忘录,通过map将之前出现的值存储一下,这个也就是递归优化-记忆法。

qq_45858191的博客 479

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

70. 爬楼梯 - 力扣(LeetCode)

爬楼梯中,假如n == 30,那么最后一步要么是上一个台阶或者是上两个台阶,两种方法没有重叠,子问题就是 n == 29 和 n == 28,n == 30 的结果就是 (n== 29结果 + n == 28结果),子问题也去找子问题的答案。(动态规划时间复杂度一般很高,因为会有大量答案被重复计算,比如n == 29 后面的子问题,n == 28 也要再算一次,所以需要优化记录被算过的答案,这里用记忆化搜索,一个外部变量来记录,也有其他优化的方法)重点:分清子问题是什么,子问题之间是否独立。

xxm919的博客 136

LeetCode70爬楼梯

LeetCode70爬楼梯 题目 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。 示例 1: 输入: 2 输出: 2 解释: 有两种方法可以爬到楼顶。 1 阶 + 1 阶 2 阶 示例 2: 输入: 3 输出: 3 解释: 有三种方法可以爬到楼顶。 1 阶 + 1 阶 + 1 阶 1 阶 ...

sakurasakura1996的博客 518

LeetCode 70:爬楼梯(Java实现)

LeetCode 70:爬楼梯题目思路1:动态规划代码结果思路2:数学,斐波那契 题目 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。 示例 1: 输入: 2 输出: 2 解释: 有两种方法可以爬到楼顶。 1 阶 + 1 阶 2 阶 示例 2: 输入: 3 输出: 3 解释: 有三种...

qq_45093368的博客 832

LeetCode 70 - 爬楼梯

本文介绍了LeetCode第70题“爬楼梯”的解题方法。题目要求计算爬到n阶楼梯的不同方法数,每次可以爬1或2阶。核心思路是将问题转化为斐波那契数列问题,通过动态规划求解。文章详细讲解了三种解法:基础动态规划(O(n)空间)、空间优化动态规划(O(1)空间)和矩阵快速幂(O(log n)时间)。提供了Python、Java和Rust的代码实现,并总结了动态规划的关键点、易错点和优化方向。该问题帮助理解状态转移和空间优化技巧,是动态规划的经典入门题目。

weixin_45980775的博客 1443

力扣(JavaScript)—70. 爬楼梯

力扣:70. 爬楼梯 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。 示例 1: 输入: 2 输出: 2 解释: 有两种方法可以爬到楼顶。 1. 1 阶 + 1 阶 2. 2 阶 示例 2: 输入: 3 输出: 3 解释: 有三种方法可以爬到楼顶。 4. 1 阶 + 1 阶 + 1 阶 5...

qq_43959230的博客 598

Leetcode70--爬楼梯

Leetcode70–爬楼梯 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 编程语言:python 作者:黑暗主宰 邮箱:shengzhanhe@gmail.com 文章目录Leetcode70--爬楼梯题目描述解题思路 Leetcode70–爬楼梯 题目描述 原题链接: ​ https://leetcode-cn.com...

EngineerHe的博客 622

力扣[LeetCode].70. 爬楼梯

假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。 示例 1: 输入: 2 输出: 2 解释: 有两种方法可以爬到楼顶。 1. 1 阶 + 1 阶 2. 2 阶 示例 2: 输入: 3 输出: 3 解释: 有三种方法可以爬到楼顶。 1. 1 阶 + 1 阶 + 1 阶 2. 1 阶 + 2 阶 3. 2 阶 + 1 阶 解析以及总结: class Solution { public:

C/C++/Linux/MySQL 456

Leetcode 70. 爬楼梯

Leetcode 70. 爬楼梯1、问题分析2、问题解决3、总结 1、问题分析 题目链接:https://leetcode-cn.com/problems/climbing-stairs/   本质上就是一个动态规划问题。代码我已经进行了详细的注释,理解应该没有问题,读者可以作为参考,如果看不懂(可以多看几遍),欢迎留言哦!我看到会解答一下。 2、问题解决   笔者以C++方式解决。 #include "iostream" using namespace std; #include "algorithm

珍惜 9123

golang力扣leetcode 70.爬楼梯

70.爬楼梯70.爬楼梯题解代码 70.爬楼梯 70.爬楼梯 题解 //state: dp[x]表示走到x阶的方法数 //function: dp[x]=dp[x-1]+dp[x-2],因为可以从x-1和x-2走到x //intialize: dp[1]=1,d[2]=2 //answer: dp[n] 代码 package main func climbStairs(n int) int { if n <= 2 { return n } dp := make([]int, n+1) d

清风 611
上一篇: LeetCode 94. 二叉树的中序遍历
下一篇: LeetCode 1582. 二进制矩阵中的特殊位置
error0318
博客等级 码龄9年 57粉丝 515原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值