力扣每日一题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.3M

提交次数

2.4M

通过率

54.2%

思路和题解:

经典的动态规划,爬到第一个台阶的方法是1,爬到第二个台阶的方法是2,爬到其余的台阶只能由前一个台阶或前面第两个台阶一步子爬过来,也就是方法等于爬到前两个台阶的方法加1。

代码:

cpp 复制代码
class Solution {
public:
    int climbStairs(int n) {
        int dp[46];
        dp[1]=1;
        dp[2]=2;
        for(int i=3;i<=n;i++) dp[i]=dp[i-1]+dp[i-2];
        return dp[n];
    }
};
相关推荐
我头发多我先学1 分钟前
C++ STL vector 原理到模拟实现
c++·算法
机器学习之心5 分钟前
信号分解和小波阈值联合降噪 | NRBO-FMD基于牛顿拉夫逊算法优化特征模态分解+皮尔逊系数+小波阈值降噪+信号重构,MATLAB代码
算法·matlab·重构·nrbo-fmd·特征模态分解
Lauren_Blueblue7 分钟前
第十六届蓝桥杯省赛Python研究生组-F串
python·算法·蓝桥杯·算法基础
鲸渔8 分钟前
【C++ 入门】第一个程序:Hello World 与基本语法规则
开发语言·c++·算法
‎ദ്ദിᵔ.˛.ᵔ₎9 分钟前
滑动窗口算法
算法·哈希算法
sali-tec11 分钟前
C# 基于OpenCv的视觉工作流-章46-矩形卡尺
图像处理·人工智能·opencv·算法·计算机视觉
仟濹12 分钟前
【算法打卡day39(2026-04-06~08 周一~周三)】(10道蓝桥杯真题)今日练习:蓝桥杯第13届省赛B组Cpp组
算法·职场和发展·蓝桥杯
美式请加冰17 分钟前
最短路径问题
java·数据结构·算法
会编程的土豆18 分钟前
【数据结构与算法】 时间复杂度计算
数据结构·c++·算法
小年糕是糕手19 分钟前
【35天从0开始备战蓝桥杯 -- Day9】
数据结构·数据库·c++·算法·蓝桥杯