当前位置: 首页 > news >正文

LeetCode 0070. 爬楼梯:动态规划(递推)

【LetMeFly】70.爬楼梯:动态规划(递推)

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

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

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

 

示例 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

方法一:动态规划(递推)

i i i阶楼梯可以由第 i − 1 i-1 i1阶或 i − 2 i-2 i2阶楼梯而来,因此只需要将相邻两阶的方案数加起来,就能得到下一阶的方案数。

初始值 0 0 0阶楼梯的方案数为 1 1 1 1 1 1阶楼梯的方案数为 1 1 1

  • 时间复杂度 O ( n ) O(n) O(n)
  • 空间复杂度 O ( 1 ) O(1) O(1)

AC代码

C++
class Solution {
public:int climbStairs(int n) {int _0 = 1, _1 = 1;for (int i = 2; i <= n; i++) {int _2 = _0 + _1;_0 = _1, _1 = _2;}return _1;}
};
Python
class Solution:def climbStairs(self, n: int) -> int:_0, _1 = 1, 1for i in range(n - 1):_0, _1 = _1, _0 + _1return _1

同步发文于CSDN,原创不易,转载经作者同意后请附上原文链接哦~
Tisfy:https://letmefly.blog.csdn.net/article/details/134913892

http://www.lryc.cn/news/259170.html

相关文章:

  • XMemcached network layout exception java.nio.channels.ClosedChannelException
  • 记录 | vscode pyhton c++调试launch.json配置
  • Java入门基础:浅显易懂 死循环
  • LeetCode刷题--- 验证二叉搜索树
  • go-zero 开发入门-加法客服端示例
  • Python 快速入门——基础语法
  • EasyRecovery2024苹果电脑mac破解版安装包下载
  • Git常用命令大全
  • vue项目本地正常运行,打包到线上时无法访问js等资源
  • 计网Lesson10 - 网络层之IP协议分析
  • LangChain 25: SQL Agent通过自然语言查询数据库sqlite
  • Redis生产实战-热key、大key解决方案、数据库与缓存最终一致性解决方案
  • 可惜+悲伤+唉=emmo...
  • [gRPC实现go调用go]
  • uniapp使用v-html调用接口,富文本图片 视频自适应大小
  • 安卓MediaRecorder(2)录制源码分析
  • MySql数据库全量备份脚本
  • windows10下jdk安装
  • Centos7防火墙及端口开启
  • vue开发,axios网络请求框架基本用法和封装
  • 对比SPI、UART、I2C通信的区别与应用
  • CentOS7安装MySQL8.0
  • 【Go<—>Java】gRPC测试注意事项
  • java面试题整合
  • 2023年12月7日:QT实现登陆界面
  • 常用的测试用例大全
  • 《python每天一小段》--12 数据可视化《1》
  • 分类预测 | Matlab实现HPO-GRU【23年新算法】基于猎食者优化算法优化门控循环单元的数据分类预测
  • 【Pytorch】学习记录分享2——Tensor基础,数据类型,及其多种创建方式
  • 实验7:索引和视图定义