【力扣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);
    }
};
相关推荐
fie888916 分钟前
基于MATLAB的狼群算法实现
开发语言·算法·matlab
偷偷的卷37 分钟前
【算法笔记 11】贪心策略六
笔记·算法
ZPC82101 小时前
FPGA 部署ONNX
人工智能·python·算法·机器人
_w_z_j_1 小时前
爱丽丝的人偶
算法
老前端的功夫2 小时前
Vue2中key的深度解析:Diff算法的性能优化之道
前端·javascript·vue.js·算法·性能优化
想要打 Acm 的小周同学呀3 小时前
爬虫相关的面试问题
爬虫·selenium·职场和发展
yongui478343 小时前
基于深度随机森林(Deep Forest)的分类算法实现
算法·随机森林·分类
是苏浙3 小时前
零基础入门C语言之C语言实现数据结构之单链表经典算法
c语言·开发语言·数据结构·算法
橘颂TA3 小时前
【剑斩OFFER】算法的暴力美学——点名
数据结构·算法·leetcode·c/c++
MATLAB代码顾问5 小时前
多种时间序列预测算法的MATLAB实现
开发语言·算法·matlab