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

通过次数

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];
    }
};
相关推荐
郝学胜-神的一滴2 小时前
游戏设计:原型与开发 19:U3D工位布置与性格说明书
人工智能·算法·unity·unreal engine·游戏策划·游戏设计
hahaha60163 小时前
数字图像时域滤波或者3D降噪算法FPGA实现
算法·计算机视觉·fpga开发
文丑颜不良啊3 小时前
LeetCode1541~1560题目解析
java·leetcode
YSL0701243 小时前
一文通关-----树和二叉树
数据结构·算法
青少儿编程课堂3 小时前
蓝桥杯青少组图形化+信息素养+电子学会Scratch考级:校园口算闯关解析
c++·python·算法·bfs·信息学竞赛
computersciencer3 小时前
应用贝叶斯公式:迟到了,那坐的是哪种交通工具呢?
算法·机器学习·概率论
若亦_3 小时前
排序>>交换排序
java·数据结构·算法
dialect_12 小时前
KMP算法
开发语言·c++·算法
reikocao12 小时前
卡尔曼滤波的动态机制:P如何改变融合权重
算法
漂流瓶jz12 小时前
UVA-1612 猜名次 题解答案代码 算法竞赛入门经典第二版
数据结构·算法·题解·排序·aoapc·算法竞赛入门经典