【Leetcode 每日一题】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

思考:

f(1)=1;

f(2)=2;

f(3)=3;

f(4)=5;

......

f(n)=f(n-1)+f(n-2);

想象有一个滑动窗口,包含三块,每增加一个n向前滑动一块,也就是将前两个块用后两个的值进行替换,之后计算前两个的和作为第三个块,然后输出。

考虑初始情况,将其设置成0,0,1

从1到n开始遍历循环,不断滑动窗口得到所需要求解的方法数量。

参考代码:

复制代码
class Solution {
public:
    int climbStairs(int n) {
        int a=0,b=0,c=1;
        for(int i = 1; i <= n; ++i) {
            a = b; 
            b = c; 
            c = a + b;
        }
        return c;

    }
};
相关推荐
罗西的思考1 分钟前
【Agentic RL / 强化学习 / OPD】OpenClaw-RL 源码阅读笔记 --- (4)--- 系统架构
人工智能·算法·机器学习
QiLinkOS3 分钟前
从技术到资产的跃迁:企业专利布局的深层逻辑
c语言·数据结构·c++·单片机·嵌入式硬件·算法·开源
aini_lovee10 分钟前
FMCW雷达测速测距系统(锯齿波 + CFAR检测)
算法
qq_2975746714 分钟前
设计模式系列文章(基础篇第 11 篇):模板方法模式——定义算法骨架,实现代码复用与流程统一
算法·设计模式·模板方法模式
lqqjuly21 分钟前
知识蒸馏:理论、算法与可运行实现
人工智能·深度学习·算法
水上冰石30 分钟前
comfui的sd1.5模型,有多少采样算法,详解每一个采样算法
人工智能·算法
磊 子41 分钟前
STL之deque和list以及两者与vector的对比
开发语言·c++·list
郝学胜_神的一滴1 小时前
CMake 012:Linux 下动态库与可执行程序的单文件构建
c++·cmake
黎阳之光1 小时前
视频孪生+空天地水工融合,黎阳之光构建智慧水利监测新范式
大数据·人工智能·物联网·算法·安全
小poop1 小时前
操作符详解:从入门到精通
c++