LeetCode热题100 爬楼梯

题目描述

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

思路

动态规划模板,fi表示第i步的方法数,转移方程为:fi = fi - 1 + fi - 2

代码

cpp 复制代码
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;
    }
};
相关推荐
aqiu1111113 分钟前
python02
算法
瓦特what?3 分钟前
位运算核心技巧与应用
java·jvm·算法
无限码力3 分钟前
阿里算法岗 0530笔试真题 - 荆棘林的最优砍断计划
算法·阿里笔试真题·阿里机试真题·阿里算法岗笔试真题·阿里巴巴笔试真题
人道领域5 分钟前
【LeetCode刷题日记】90.子集Ⅱ--- 归纳题解
java·开发语言·leetcode
随意起个昵称6 分钟前
线性dp-LIS题目5(导弹拦截,二分优化)
c++·算法·动态规划
winlife_6 分钟前
全程用 AI 做一款商业级手游 · EP10 道具系统:让三个按钮真正改变棋盘
windows·算法·unity·ai编程·游戏开发·mcp·玩法系统
计算机安禾10 分钟前
【数据库系统原理】第16篇:范式理论(下):多值依赖与第四范式——消除非平凡的非函数依赖
算法
lqqjuly15 分钟前
一致性模型深度解析
人工智能·深度学习·算法
光电笑映16 分钟前
进程间通信:深入 System V IPC:共享内存、消息队列与信号量
linux·运维·服务器·c++
RisunJan16 分钟前
Linux命令-patch (为开放源代码软件安装补丁程序)
linux·服务器·算法