算法:70. 爬楼梯

70. 爬楼梯

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

解法1:

java 复制代码
class Solution {
    public int climbStairs(int n) {
        int p = 0, q = 0, r = 1;
        for (int i = 1; i <= n; ++i) {
            p = q; 
            q = r; 
            r = p + q;
        }
        return r;
    }
}
		//i p q r
		//1 0 0 1
		//2 0 1 1
		//3 1 1 2
		//4 1 2 3
		//5 2 3 5
		//6 3 5 8
		//7 5 8 13

解法2:

java 复制代码
class Solution {
    public int climbStairs(int n) {
        int[] dp = new int[n + 1];
        dp[0] = 1;
        dp[1] = 1;
        for(int i = 2; i <= n; i++) {
            dp[i] = dp[i-1] + dp[i-2];
        }
        return dp[n];
    }
}
		//i i-2 i-1 dp[i]
		//0 0 0 1
		//1 0 1 1
		//2 1 1 2
		//3 1 2 3
		//4 2 3 5
		//5 3 5 8
		//6 5 8 13
相关推荐
算法与编程之美2 分钟前
解决tensor的shape不为1,如何转移到CPU的问题
人工智能·python·深度学习·算法·机器学习
natide3 分钟前
词汇/表达差异-8-Token Overlap(词元重叠度)
大数据·人工智能·深度学习·算法·自然语言处理·nlp·知识图谱
hetao17338376 分钟前
2025-12-22 hetao1733837的笔记
c++·笔记·算法
Binky67821 分钟前
力扣--贪心篇(1)
数据结构·算法·leetcode
sinat_2554878121 分钟前
文件I/O流
java·jvm·算法
北辰水墨23 分钟前
【算法篇】单调栈的学习
c++·笔记·学习·算法·单调栈
源代码•宸24 分钟前
goframe框架签到系统项目开发(分布式 ID 生成器、雪花算法、抽离业务逻辑到service层)
经验分享·分布式·mysql·算法·golang·雪花算法·goframe
AIpanda88826 分钟前
当智能化工具应用于企业,如何借助AI销冠系统提升工作效率?
算法
进击的小头31 分钟前
01_嵌入式C与控制理论入门:从原理到MCU实战落地
c语言·单片机·算法
what_201833 分钟前
list 对象里面 嵌套list对象,对象的属性 有浮点数,list<浮点数> 对list对象求均值
算法·均值算法