【矩阵快速幂优化 DP】力扣70. 爬楼梯

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

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

示例 1:

输入:n = 2

输出:2

解释:有两种方法可以爬到楼顶。

1 阶 + 1 阶

2 阶

示例 2:

输入:n = 3

输出:3

解释:有三种方法可以爬到楼顶。

1 阶 + 1 阶 + 1 阶

1 阶 + 2 阶

2 阶 + 1 阶

提示:

1 <= n <= 45

cpp 复制代码
class Solution {
public:
    int climbStairs(int n) {
        vector<int> dp(n+1);
        if (n == 1) return 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];
    }
};

时间复杂度O(N)
空间复杂度O(N)

经典的动态规划基础题,我们可以定义一个dpi为爬i个阶梯的方法,那么我们可以列出动态转移方程dp[i] = dp[i-1] + dp[i-2],最后返回dpn即可。

相关推荐
_日拱一卒6 小时前
LeetCode:207课程表
java·数据结构·算法·leetcode·职场和发展
风筝在晴天搁浅9 小时前
美团 LeetCode 692.前K个高频单词
算法·leetcode·职场和发展
z2005093010 小时前
今日算法(回溯子集)(模版题)
数据结构·算法·leetcode
YL2004042612 小时前
071字符串解码
数据结构·leetcode
吃好睡好便好12 小时前
矩阵的转置运算
学习·线性代数·matlab·矩阵
z2005093014 小时前
今日算法(回溯子集)
数据结构·算法·leetcode
Hesionberger14 小时前
巧用异或找出唯一数字(多解)
java·数据结构·python·算法·leetcode
菜菜的顾清寒14 小时前
力扣HOT100(47) 二叉树的层序遍历
算法·leetcode·深度优先
xier_ran14 小时前
【infra之路】阶段二 · 模块二:CUDA 编程入门(下)— 矩阵乘法、tiling 优化与测量陷阱
人工智能·线性代数·矩阵
sheeta199815 小时前
LeetCode 每日一题笔记 日期:2026.05.31 题目:2126. 摧毁小行星
笔记·算法·leetcode