【力扣hot100题】(080)爬楼梯

让我们掌声恭迎动态规划的始祖------

最基础的动态规划,原始方法是维护一个数组,每次记录到该阶梯的方案数量,每次的数量是到上一个阶梯的方案数量加上到上上一阶梯的方案数量,因为只有两种走法。

进阶可以优化空间复杂度,只记录两个数字,因为更之前的数据都用不上了。

我当然是直接写优化方案------

cpp 复制代码
class Solution {
public:
    int climbStairs(int n) {
        if(n==1) return 1;
        if(n==2) return 2;
        int one=1;
        int two=2;
        for(int i=3;i<=n;i++){
            if(i%2==0) two=one+two;
            else one=one+two;
        }
        return max(one,two);
    }
};
相关推荐
八股文领域大手子6 分钟前
单机 vs 分布式:Java 后端限流的选择题
java·开发语言·数据结构·算法·spring
keep intensify2 小时前
【数据结构】--- 双向链表的增删查改
c语言·数据结构·算法·链表
geneculture3 小时前
融智学数学符号体系的系统解读(之一)
人工智能·算法·机器学习
巷9554 小时前
DBSCAN对比K-means
算法·机器学习·kmeans
小徐Chao努力4 小时前
【堆】最大堆、最小堆以及GO语言的实现
数据结构·算法·golang·
jerry6095 小时前
算法四 习题 1.3
数据结构·c++·算法
让我们一起加油好吗5 小时前
【第十六届蓝桥杯省赛】比赛心得与经验分享(PythonA 组)
经验分享·python·算法·蓝桥杯
小冯的编程学习之路6 小时前
【C++】:C++17新特性
c语言·开发语言·c++·算法
wuqingshun3141596 小时前
蓝桥杯 10. 凯撒加密
c++·算法·职场和发展·蓝桥杯·深度优先
汉克老师6 小时前
GESP2024年6月认证C++八级( 第三部分编程题(2)空间跳跃)
c++·算法·图论·gesp八级·gesp8级