LeetCode 70. 爬楼梯(动态规划)

题目链接:https://leetcode-cn.com/problems/climbing-stairs/

之前在递归中讲过这个问题,现在用动态规划求解。

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

用dp[i] 表示到达第i个台阶的走法,那么到达第n个台阶的这个状态的走法,只跟n-1和n-2的状态有关(走1步或2步到n)
状态方程为 dp[n] = dp[n-1] + dp[n-2]
在这里插入图片描述

class Solution {
public:int climbStairs(int n) {if(n == 1)return 1;if(n == 2)return 2;int dp[n];dp[0] = 1;dp[1] = 2;for(int i = 2; i < n; ++i){dp[i] = dp[i-1] + dp[i-2];}return dp[n-1];}
};

对上面程序进行状态压缩,前面用不到的状态不保留
在这里插入图片描述

class Solution 
{
public:int climbStairs(int n) {if(n == 1)return 1;if(n == 2)return 2;int dp_i, dp_i_2 = 1, dp_i_1 = 2;for(int i = 2; i < n; ++i){dp_i = dp_i_1 + dp_i_2;dp_i_2 = dp_i_1;dp_i_1 = dp_i;}return dp_i;}
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/480011.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

技术动态 | 藏经阁计划发布一年,阿里知识引擎有哪些技术突破?

本文转载自公众号&#xff1a;阿里技术。导读&#xff1a;2018年4月阿里巴巴业务平台事业部——知识图谱团队联合清华大学、浙江大学、中科院自动化所、中科院软件所、苏州大学等五家机构&#xff0c;联合发布藏经阁&#xff08;知识引擎&#xff09;研究计划。藏经阁计划依赖阿…

python中模块、函数与各个模块之间的调用

1 针对一个模块的函数调用 a &#xff1a; import 模块名 模块名.函数名 b&#xff1a; from 模块名 import 函数名 &#xff08;as 别名&#xff09; python调用另一个.py文件中的类和函数 同一文件夹下的调用 1.调用函数 A.py文件如下&#xff1a; def add(x,y): print(‘和…

模拟退火算法求解TSP问题

前言&#xff1a;模拟退火&#xff08;simulated annealing&#xff09;技术&#xff0c;在每一步都以一定的概率接受比当前结果更差的结果&#xff0c;从而有助于“跳出”局部极小。在每次迭代过程中&#xff0c;接受“次优解”的概率要随着时间的推移而逐渐降低&#xff0c;从…

一篇文章彻底搞懂“分布式事务”

在如今的分布式盛行的时代&#xff0c;分布式事务永远都是绕不开的一个话题&#xff0c;今天就谈谈分布式事务相关的一致性与实战解决方案。 01 为什么需要分布式事务 由于近十年互联网的发展非常迅速&#xff0c;很多网站的访问越来越大&#xff0c;集中式环境已经不能满足业…

C++很难学?这个ACM金牌大佬可不这么认为!

C作为一门底层可操作性很强的语言&#xff0c;广泛应用于游戏开发、工业和追求性能、速度的应用。比如腾讯&#xff0c;无论游戏&#xff0c;还是微信&#xff0c;整个鹅厂后台几乎都是 C 开发&#xff0c;对 C 开发者的需求非常大。但问题是C入门和精通都比较困难&#xff0c;…

数据结构--位图 BitMap

文章目录1. 位图2. 位图代码3. 布隆过滤器 Bloom Filter4. 总结1. 位图 我们有1千万个整数&#xff0c;整数的范围在1到1亿之间。如何快速查找某个整数是否在这1千万个整数中呢&#xff1f; 当然&#xff0c;这个问题可以用散列表来解决。可以使用一种特殊的散列表&#xff0…

领域应用 | 企业效益最大化的秘密:知识图谱

本文转载自公众号&#xff1a;TigerGraph。凡是有关系的地方都可以用知识图谱。知识图谱知识图谱是用节点和关系所组成的图谱&#xff0c;为真实世界的各个场景直观地建模&#xff0c;运用“图”这种基础性、通用性的“语言”&#xff0c;“高保真”地表达这个多姿多彩世界的各…

国家一级职业资格证书 计算机类有哪些

当前bai&#xff0c;计算机证书考试多种du多样&#xff0c;水平参差不齐。比较正规且得到社会zhi认可的dao计算机证书考试有以下几种&#xff1a;全国计算机应用软件人员水平考试、计算机等级考试、计算机及信息高新技术考试、计算机应用水平测试和各种国外著名大计算机公司组织…

阿里P8架构师谈:分布式系统全局唯一ID简介、特点、5种生成方式

什么是分布式系统唯一ID 在复杂分布式系统中&#xff0c;往往需要对大量的数据和消息进行唯一标识。 如在金融、电商、支付、等产品的系统中&#xff0c;数据日渐增长&#xff0c;对数据分库分表后需要有一个唯一ID来标识一条数据或消息&#xff0c;数据库的自增ID显然不能满足…

朴素贝叶斯算法--过滤垃圾短信

文章目录1. 基于黑名单过滤2. 基于规则过滤3. 基于概率统计过滤4. 总结上一节我们讲到&#xff0c;如何用位图、布隆过滤器&#xff0c;来 过滤重复数据。今天&#xff0c;我们再讲一个跟过滤相关的问题&#xff0c;如何过滤垃圾短信&#xff1f;1. 基于黑名单过滤 可以维护一…

2020深度文本匹配最新进展:精度、速度我都要!

文 | QvQ编 | 兔子酱在过去的几年里&#xff0c;信息检索(IR)领域见证了一系列神经排序模型的引入&#xff0c;这些模型多是基于表示或基于交互的&#xff0c;亦或二者的融合。然鹅&#xff0c;模型虽非常有效&#xff0c;尤其是基于 PLMs 的排序模型更是增加了几个数量级的计算…

开源开放 | Gowild 狗尾草“七律”知识图谱进入 OpenKG,开放 8000 万中文百科知识三元组数据...

项目网站: https://ai.gowild.cn/kgOpenKG发布地址: http://openkg.cn/dataset/7lore狗尾草科技&#xff1a;https://www.gowild.cn1.七律开放知识图谱简介作为人工智能技术的重要分支&#xff0c;知识图谱自2012年被提出并成功应用后&#xff0c;就获得了迅速发展&#xff0c;…

向量空间 Vector Space -- 推荐系统

文章目录1. 算法解析2. 基于相似用户做推荐3. 基于相似歌曲做推荐4. 总结音乐App的功能越来越强大&#xff0c;不仅可以自己选歌听&#xff0c;还可以根据你听歌的口味偏好&#xff0c; 给你推荐可能会喜爱的音乐&#xff0c;有时候&#xff0c;推荐的还非常适合你的口味。1. 算…

阿里P8架构师谈:分布式事务的解决方案,以及原理、总结

分布式事务是企业集成中的一个技术难点&#xff0c;也是每一个分布式系统架构中都会涉及到的一个东西&#xff0c;特别是在这几年越来越火的微服务架构中&#xff0c;几乎可以说是无法避免&#xff0c;本文就围绕分布式事务各方面与大家进行介绍。 事务 1.1 什么是事务 数据库…

美团NLP中心算法实习生内推啦!

星标/置顶小屋&#xff0c;带你解锁最萌最前沿的NLP、搜索与推荐技术部门介绍搜索与NLP部是美团人工智能技术研发的核心团队&#xff0c;致力于打造高性能、高扩展的搜索引擎和领先的自然语言处理核心技术和服务能力&#xff0c;依托搜索排序&#xff0c;NLP&#xff08;自然语…

B+树 -- MySQL数据库索引

文章目录1. 定义清楚问题2. 尝试学过的数据结构解决问题3. 改造二叉查找树来解决问题4. 总结为了加速数据库中数据的查找速度&#xff0c;我们常对表中数据创建索引。数据库索引是如何实现的呢&#xff1f;底层使用的是什么数据结构和算法呢&#xff1f; 1. 定义清楚问题 如何…

创建python的虚拟环境(图文教程),并使用。

创建python的虚拟环境 第一步&#xff1a;打开anaconda命令行&#xff0c;即打开anaconda prompt。 base的主环境切换到虚拟环境nlp (base) C:\Users\user>conda env list 查看环境列表 (base) C:\Users\user>conda create -n nlp python 创建一个虚拟环境&#xff0…

领域应用 | 到底什么时候使用图数据库?

本文转载自公众号&#xff1a;TigerGraph。图数据库作为近两年快速发展的新型数据受到了市场极大的关注。但对于很多行业而言&#xff0c;图数据库还是一个很新的概念&#xff0c;企业管理人员和技术人员面临着同样的问题&#xff1a;企业的业务适不适合使用图&#xff1f;到底…

常用的后端性能优化六种方式:缓存化+服务化+异步化等

后端优化的六种方法&#xff1a; 1.硬件升级 硬件问题对性能的影响不容忽视。 举一个例子&#xff1a;一个DB集群经常有慢SQL报警&#xff0c;业务排查下来发现SQL都很简单&#xff0c;该做的索引优化也都做了。后来DBA同学帮忙定位到问题是硬件过旧导致&#xff0c;将机械硬…

有钱可以多任性?OpenAI提出人肉模型训练,文本摘要全面超越人类表现!

文 | 小轶背景三个多月前&#xff0c;OpenAI的GPT-3在NLP界掀起轩然大波。就在上周&#xff0c;视金钱如粪土的OpenAI团队又在文本摘要方面推出了最新力作&#xff0c;全方位超越人类表现。其亮点在于&#xff1a;以人类偏好替代自动化评测方法&#xff08;如ROUGE、BLUE&#…