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

思路

动态规划模板,f[i]表示第i步的方法数,转移方程为:f[i] = f[i - 1] + f[i - 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;
    }
};
相关推荐
Old Uncle Tom2 小时前
OpenClaw 记忆系统 -- 记忆预加载
java·数据结构·算法·agent
会编程的土豆2 小时前
洛谷题单入门1 顺序结构
数据结构·算法·golang
生信碱移2 小时前
PACells:这个方法可以鉴定疾病/预后相关的重要细胞亚群,作者提供的代码流程可以学习起来了,甚至兼容转录组与 ATAC 两种数据类型!
人工智能·学习·算法·机器学习·数据挖掘·数据分析·r语言
workflower2 小时前
具身智能行业应用-生活服务业
大数据·人工智能·机器人·动态规划·生活
智者知已应修善业2 小时前
【51单片机中的打飞机设计】2023-8-25
c++·经验分享·笔记·算法·51单片机
圣保罗的大教堂3 小时前
leetcode 1855. 下标对中的最大距离 中等
leetcode
智者知已应修善业4 小时前
【51单片机按键调节占空比3位数码管显示】2023-8-24
c++·经验分享·笔记·算法·51单片机
.5485 小时前
## Sorting(排序算法)
python·算法·排序算法
wuweijianlove5 小时前
算法的平均复杂度建模与性能回归分析的技术7
算法·数据挖掘·回归
子琦啊6 小时前
【算法复习】字符串 | 两个底层直觉,吃透高频题
linux·运维·算法