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

leetcode70 爬楼梯

假设你正在爬楼梯。需要 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 阶

思路

最简单的方法用递归,但是层数太高会导致栈溢出

    public int climbStairs(int n) {if (n <= 0) return 0; // 如果n小于等于0,返回0(或者抛出一个异常,取决于你的需求)if (n == 1) return 1;if (n == 2) return 2; // 这一步是可选的,但可以提高n=2时的效率int[] dp = new int[n + 1]; // 创建一个数组来保存中间结果dp[1] = 1;dp[2] = 2;for (int i = 3; i <= n; i++) {dp[i] = dp[i - 1] + dp[i - 2]; // 动态规划的核心递推关系}return dp[n];}

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

相关文章:

  • ENVI实战—一文搞定非监督分类
  • 【Qt 学习笔记】Qt系统相关 | Qt事件 | 事件的介绍及基本概念
  • 具身智能特点及实现路线
  • 重温react-04
  • lock-锁的概念
  • Docker 可用镜像源
  • MySQL 搭建主从报错 1236
  • 华为OD机试真题2024版-求幸存数之和
  • Python - 各种计算器合集【附源码】
  • 【已解决】better-scroll在PC端如何开启鼠标滚动以及如何始终显示滚动条
  • AJAX 综合案例-day2
  • 【Esp32连接微信小程序蓝牙】附Arduino源码《 返回10007 相同特征id冲突问题》
  • 并发控制技术
  • 什么是网段
  • PHP和Mysql前后端交互效果实现
  • vue小总结
  • RapidLayout:中英文版面分析推理库
  • postman 工具下载安装使用教程_postman安装
  • 【数学建模】——【新手小白到国奖选手】——【学习路线】
  • CSS文本超限后使用省略号代替
  • 多线程下JVM内存模型 和 volatile关键字
  • Uniapp实现页面滚动Tab吸顶,点击tab内容滚动到对应tab内容位置
  • 在Elasticsearch中-SpaceJam一个全文搜索的实例
  • Microsoft Edge浏览器安装crx拓展插件教程
  • 陈晓婚前婚后大变样
  • Linux sudo -i取消密码的方法
  • PMP考试多少分才算合格通过?
  • 原生js写数据自动纵向滚动,鼠标移入后停止滚动可手动滚动,鼠标移出转自动
  • 板凳----Linux/Unix 系统编程手册 25章 进程的终止
  • 若依Ruoyi-vue和element admin的区别,该如何选择。