算法_爬楼梯题解

news/2025/3/31 12:50:06/

leetcode链接 

70. 爬楼梯 - 爬楼梯 - 力扣(LeetCode)

爬楼梯问题的本质是斐波那契数。这个题可以用递归来解决:

int climbStairs(int n)
{if(n==1)return 1;if(n==2)return 2;else return climbStairs(n-1)+climbStairs(n-2);
}

但是,这种算法时间复杂度是O(N^2),不能AC。

所以不能用存粹递归了。

那就需要动态规划了。可以使用滚动数组。

即,定义一个数组,初始化为0。

然后给第二个元素赋值1,给第三个元素赋值2。由于先前已经将所有元素初始化为0,所以第一个元素就是0。

首先考虑边界,当n=1时,返回值为1,当n=2时,返回值为2。

当n>=3时,进入循环,然后每次stairs[i]的值是相邻前两项的和。

退出循环后最终返回stairs[n]。

int climbStairs(int n)
{int stairs[50]={0};stairs[1]=1;stairs[2]=2;for(int i=3;i<=n;i++){stairs[i]=stairs[i-1]+stairs[i-2];}return stairs[n];
}

这样下来时间时间复杂度就成了O(N)。


http://www.ppmy.cn/news/22920.html

相关文章

C++ 浅谈之适配器

C 浅谈之适配器 HELLO&#xff0c;各位博友好&#xff0c;我是阿呆 &#x1f648;&#x1f648;&#x1f648; 这里是 C 浅谈系列&#xff0c;收录在专栏 C 语言中 &#x1f61c;&#x1f61c;&#x1f61c; 本系列阿呆将记录一些 C 语言重要的语法特性 &#x1f3c3;&#…

不坑盒子:强大的word插件,让工作更高效

不坑盒子简介 很多朋友在工作过程中需要对Word文档进行编辑处理&#xff0c;如果想让Word排版更有效率可以试试小编带来的这款不坑盒子软件&#xff0c;这是一个非常好用的插件工具&#xff0c;专门应用在Word文档中&#xff0c;支持Office 2010以上的版本&#xff0c;用户可以…

开发微服务电商项目演示(一)

从本期开始为大家讲解一个微服务电商项目的一个开发过程 其中包括以下等技术1.项目框架及多模块开发2.mybatis与微服务注册3.服务调用&分布式session4.网关服务限流熔断降级&分布式事务5.商品秒杀展示6.商品秒杀接口测压及优化7.消息推送8.分布式锁一.项目模式电商模式…

Apollo搭建使用

Apollo的执行过程 Apollo的原理 Client&#xff08;Java应用端&#xff09;通过域名访问Meta Server获取Config Service服务列表&#xff08;IPPort&#xff09;&#xff0c;而后直接通过IPPort访问服务&#xff0c;同时在Client侧会做load balance、错误重试 Apollo的引入 1…

【论文速递】NAACL2022- 文档级事件论元抽取的双流AMR增强模型

【论文速递】NAACL2022- 文档级事件论元抽取的双流AMR增强模型 代码&#xff1a;RunxinXu/TSAR: Source code for “A Two-Stream AMR-enhanced Model for Document-level Event Argument Extraction” NAACL 2022 (github.com) 论文&#xff1a;[2205.00241] A Two-Stream A…

前端食堂技术周刊第 69 期:第 94 次 TC39 会议、Interop 2023、1 月登陆 Web 平台的新功能、Deno in 2022

美味值&#xff1a;&#x1f31f;&#x1f31f;&#x1f31f;&#x1f31f;&#x1f31f; 口味&#xff1a;暖枣枸杞汁 食堂技术周刊仓库地址&#xff1a;https://github.com/Geekhyt/weekly 本期摘要 第 94 次 TC39 会议Interop 20231 月登陆 Web 平台的新功能Deno in 202…

Vue 项目如何实现一个全局菜单搜索框

✨ 个人主页&#xff1a;山山而川~xyj ⚶ 作者简介&#xff1a;前端领域新星创作者&#xff0c;专注于前端各领域技术&#xff0c;共同学习共同进步&#xff0c;一起加油&#xff01; &#x1f386; 系列专栏&#xff1a; Vue 系列 &#x1f680; 学习格言&#xff1a;与其临渊…

字段校验 参数校验 @Valid

实体字段校验 NotNull、NotEmpty、NotBlank 1.NotNull 不能为 null&#xff0c;但可以为 empty&#xff0c;一般用在 Integer 类型的基本数据类型的非空校验上&#xff0c;而且被其标注的字段可以使用 size、Max、Min 对字段数值进行大小的控制 2.NotEmpty 不能为 null&…