LeetCode 70. 爬楼梯 使用c++解答

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

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

示例 1:

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

示例 2:

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

提示:

  • 1 <= n <= 45

是一道有趣的题目,可以用来当成动态规划的入门练习

class Solution {
public:int climbStairs(int n) {if (n <= 1) {return 1;}int prev1 = 1;int prev2 = 1;for (int i = 2; i <= n; ++i) {int current = prev1 + prev2;prev1 = prev2;prev2 = current;}return prev2;}
};
  1. prev1 和 prev2 的含义:

    • prev1 表示爬到前一阶楼梯的方法数。
    • prev2 表示爬到前两阶楼梯的方法数。

 

例子分析

假设 n=5,即求解爬到第 5 个台阶的方法总数。

  1. 初始状态

    • prev1 = 1(f(1))
    • prev2 = 1(f(0))
  2. 迭代过程

    • i=2i = 2i=2:
      • current = prev1 + prev2 = 1 + 1 = 2(f(2))
      • 更新:prev1 = 1prev2 = 2
    • i=3i = 3i=3:
      • current = prev1 + prev2 = 1 + 2 = 3(f(3))
      • 更新:prev1 = 2prev2 = 3
    • i=4i = 4i=4:
      • current = prev1 + prev2 = 2 + 3 = 5(f(4))
      • 更新:prev1 = 3prev2 = 5
    • i=5i = 5i=5:
      • current = prev1 + prev2 = 3 + 5 = 8(f(5))
      • 更新:prev1 = 5prev2 = 8
  3. 结果

    • prev2 最终为 8,即爬到第 5 个台阶的方法总数。

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

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

相关文章

【STM32+FPGA】先进算力+强安全+边缘AI,64位STM32MP2聚焦工业4.0应用

工业应用数字化和智能化程度&#xff0c;是衡量新质生产力的重要标准。STM32最新一代64位微处理器STM32MP2凭借先进算力、丰富接口和高安全性&#xff0c;为高性能和高度互联的工业4.0应用赋能。 STM32MP2四大关键特性&#xff0c;为工业4.0应用赋能 STM32MP2系列的第一颗产品S…

XTDrone-无人机与无人船协同初步-配置教程

说明&#xff1a;配置该教程时所使用的是Ubuntu20.04 1 海洋与无人船仿真环境搭建 cp -r ~/XTDrone/sitl_config/usv/* ~/catkin_ws/src/ cd catkin_ws catkin build # or catkin_make 说明&#xff1a;由于官方所编写的脚本时几年之前的&#xff0c;所以很多东西不符合现在…

【Rust日报】Dioxus 团队给Rust未来的期望

让你的第一个Rust严肃应用成功 corrode总结了一份用Rust实现工程的评估清单&#xff0c;为考虑采用Rust编程语言的企业提供了全面指南。以下是主要内容&#xff1a; 评估业务需求和适应性&#xff1a;确定Rust是否符合公司技术需求和长期目标。评估Rust的性能和安全特性在具体用…

Git的安装以及使用

一.简单介绍 1.1版本控制 版本控制是指对软件开发过程中各种程序代码,配置文件及说明文档等文件变更管理&#xff0c;是软件配置管理的核心思想之一。 版本控制最重要的内容是追踪文件的变更&#xff0c;它将什么时候&#xff0c;什么人更改了文件的什么内容等信息忠实的记录…

面向二级及二级以下医院的云HIS系统源码,涵盖患者、费用、医嘱、电子病历等核心业务功能。

云HIS系统源码&#xff0c;二级医院信息管理系统源码&#xff0c;电子病历系统 云HIS系统&#xff0c;采用云计算、互(物)联网、大数据、人工智能等现代信息技术&#xff0c;融合医保、医疗、医药全方位的管理和服务&#xff0c;为各类中小型医疗机构&#xff0c;包括二级及二…

B3996 [洛谷 202406GESP 模拟 三级] 小洛的数字游戏

题目描述 小洛有一个正整数 &#x1d45b;n&#xff0c;他会进行若干次下列操作&#xff1a; 取出正整数 &#x1d45b; 的末位&#xff0c;记作 &#x1d465;&#xff1b;将 &#x1d465;平方之后&#xff0c;保留个位&#xff0c;放于 &#x1d45b; 的首位之前&#xff…

打造智慧矿山:整体架构设计与实践探索

随着信息技术的不断发展&#xff0c;智慧矿山作为矿业领域的创新模式&#xff0c;正日益受到关注。在智慧矿山中&#xff0c;先进的传感器、大数据分析、人工智能等技术被广泛应用&#xff0c;以提高矿山生产效率、降低成本&#xff0c;并确保安全环保。本文将深入探讨智慧矿山…

2024-6-20(沉默Springboot)

1.springboot整合Swagger Swagger 是一个用于生成、描述和调用 RESTful 接口的 Web 服务。 换句话说&#xff0c;Swagger 就是将项目中想要暴露的接口展示在页面上&#xff0c;开发者可以直接进行接口调用和测试&#xff0c;能在很大程度上提升开发的效率。 比如说&#xff…

深入源码设计!Vue3.js核心API——watch实现原理

如果您觉得这篇文章有帮助的话&#xff01;给个点赞和评论支持下吧&#xff0c;感谢~ 作者&#xff1a;前端小王hs 阿里云社区博客专家/清华大学出版社签约作者/csdn百万访问前端博主/B站千粉前端up主 此篇文章是博主于2022年学习《Vue.js设计与实现》时的笔记整理而来 书籍&a…

QT实现人脸识别

QT实现人脸识别 Face.pro文件&#xff1a; QT core guigreaterThan(QT_MAJOR_VERSION, 4): QT widgetsCONFIG c11# The following define makes your compiler emit warnings if you use # any Qt feature that has been marked deprecated (the exact warnings # d…

「C系列」C 内存管理

文章目录 一、C 内存管理1. 静态内存分配2. 栈内存分配3. 堆内存分配注意事项 二、C 内存管理的函数和描述1. malloc()2. calloc()3. realloc()4. free() 三、相关链接 一、C 内存管理 C 语言的内存管理主要由程序员负责&#xff0c;这意味着你需要手动分配和释放内存以避免内…

通俗范畴论4 范畴的定义

注&#xff1a;由于CSDN无法显示本文章源文件的公式&#xff0c;因此部分下标、字母花体、箭头表示可能会不正常&#xff0c;请读者谅解 范畴的正式定义 上一节我们在没有引入范畴这个数学概念的情况下&#xff0c;直接体验了一个“苹果1”范畴&#xff0c;建立了一个对范畴的…

【新闻】AI程序员要来了吗?阿里云官宣

内容提要 6 月 21 日&#xff0c;在阿里云上海 AI 峰会上&#xff0c;阿里云宣布推出首个AI 程序员。 据介绍&#xff0c;这个AI程序员具备架构师、开发工程师、测试工程师等多种岗位的技能&#xff0c;能一站式自主完成任务分解、代码编写、测试、问题修复、代码提交整个过程…

跨界收益:企业数字化转型的致胜秘密!

在数字化的浪潮中&#xff0c;企业如何突破传统&#xff0c;面向未来&#xff1f;跨界收益&#xff0c;这个看似神秘的力量&#xff0c;正成为企业数字化转型的关键所在&#xff01;让我们一同揭开它的神秘面纱&#xff0c;探寻其中的奥秘吧&#xff01; 在企业数字化转型中&am…

集群环境中分发文件的脚本

由于在集群中手动分发文件较为麻烦&#xff0c;这里记录一下自动分发脚本。 1 脚本说明 该脚本用于将文件分发到远程设备。默认分发文件的路径为脚本所在路径&#xff0c;默认分发目标地址为node1和node2。可以在启动脚本时手动输入分发文件的路径和目标设备地址&#xff0c;…

教育护眼灯品牌排行有哪些上榜?中国十大教育照明品牌分享

在当前的时代背景下&#xff0c;孩子们的课业负担依然沉重。随着他们年龄的增长&#xff0c;作业量不断增加&#xff0c;对视力的需求也随之上升。加之&#xff0c;现今许多作业需借助电子屏幕完成&#xff0c;孩子们面临视力问题的风险因而愈加提早。家长们逐渐认识到&#xf…

一个端口配置两个vue和后端服务,nginx以及前后端服务怎么配?

nginx配置重点看server中的内容&#xff1a; worker_processes 8; pid /usr/local/nginx/logs/nginx.pid;events {# 此为 Linux 系统特为处理大批量文件描述符而作改进的 poll 事件模型use epoll;worker_connections 512; # 工作进程的最大连接数量# 允许同时接受多个网络连…

注意,华为HCIP考试近期变题频繁,请密切关注

最近&#xff0c;华为HCIP考试频繁变题&#xff0c;不少人在后台咨询小编&#xff0c;在此统一回复下。 具体情况是&#xff0c;继HCIP Datacom H12-831在4月份变题后&#xff0c;上周HCIP-Security H12-725也发生了变题。 而本周&#xff0c;HCIP-WLAN H12-323再次变题。 01 变…

静态文件及模板

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 1 静态文件 动态Web应用也会需要静态文件&#xff0c;通常是CSS和JavaScript文件。Flask可以向已经配置好的Web服务器提供静态文件&#xff0c;只要…