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

Leetcode 70.爬楼梯

假设你正在爬楼梯。需要 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) {int[] store = new int[n + 1];return dfs(n, store);}private int dfs(int i, int[] store){if(i <= 1){return 1;}if(store[i] != 0){return store[i];}return store[i] = dfs(i - 1, store) + dfs(i - 2, store);}
}

方法二:递推

class Solution {public int climbStairs(int n) {int[] f = new int[n + 1];f[0] = f[1] = 1;//f[2];for(int i = 2; i <= n; i++){f[i] = f[i - 1] + f[i - 2];}return f[n];}
}

方法三:空间优化

class Solution {public int climbStairs(int n) {int f0 = 1;int f1 = 1;for(int i = 2; i <= n; i++){int newF = f0 + f1;f0 = f1;f1 = newF;}return f1;}
}


http://www.mrgr.cn/news/1585.html

相关文章:

  • 安泰ATA-7015高压放大器在机器人测试中的应用研究
  • k8s 安装nacos集群
  • 微服务通过nacos实现动态路由
  • Go更换国内源配置环境变量
  • Baumer工业相机堡盟工业相机如何通过BGAPISDK初始化时过滤其它非Baumer相机(C#)
  • 鸿萌数据恢复服务:SQL Server 中的“PFS 可用空间信息不正确”错误
  • 网络安全实训第五天(主机系统渗透)
  • DAX(Data Analysis Expressions)数据建模底层原理是什么?BI分析工具的底层及应用场景的分析
  • 节省IO的小技巧:GD32 MCU如何使用一个GPIO实现串口半双工收发
  • Vue 3中deep属性的深度解析:ref与reactive的不同表现
  • Golang | Leetcode Golang题解之第352题将数据流变为多个不相交区间
  • 16:【stm32】I2C的使用一:I2C片上外设的使用
  • 记录一次edu web端渗透测试实录
  • C#与其它编程语言有什么区别,以及相关优势有哪些
  • Windows禁止应用联网
  • Awesome-Chinese-LLM:收集和梳理中文LLM相关的开源模型、应用、数据集及教程等资料
  • Android about event log
  • Java设计模式之中介者模式
  • EmguCV学习笔记 VB.Net 3.1 直线
  • python工具--mysql2doris的datax json生成工具