LeetCode70:爬楼梯

class Solution {
public:
    int climbStairs(int n) {
        if(n == 1)  return 1;
        if(n == 2)  return 2;
        vector<int> dp(n + 1, 0);
        dp[1] = 1;
        dp[2] = 2;
        for(int i = 3; i < n +1; i++)
        {
            dp[i] = dp[i - 1] + dp[i - 2];
        }
        return dp[n];
    }
};

这个题目也就是最简单的动态规划,题目很难理解,实际上当你递推几个之后就好办了很多。

n = 1 有1种方法

n = 2 有2种方法

n = 3 有3种方法

n = 4 有5种方法

n = 5 有8种方法

也就是斐波那契数列,区别就在n = 0时,这个题目没有n = 0,也就是没有0阶楼梯这一说法

看着程序员卡尔的动态规划五部曲也就是五步走,然后确定dp状态转移方程,最后算出来n的时候有多少种方法走上台阶。

相关推荐
华年源码几秒前
在线商城系统设计与开发-代码(源码+数据库+文档)
java·数据库·毕业设计·源码·springboot
数据的世界012 分钟前
C#标识符和关键字
java·服务器·c#
BingLin-Liu7 分钟前
备考蓝桥杯:顺序表相关算法题
算法·职场和发展·蓝桥杯
水水阿水水7 分钟前
第一章:C++是C语言的扩充(一)
linux·c语言·数据结构·c++·算法
m0_748247808 分钟前
【Spring Boot】统一数据返回
java·spring boot·后端
星迹日1 小时前
数据结构:包装类和泛型
java·开发语言·数据结构·笔记·泛型·通配符·包装类
40岁的系统架构师1 小时前
5 分布式ID
分布式·算法
重生之绝世牛码3 小时前
Java设计模式 —— 【行为型模式】命令模式(Command Pattern) 详解
java·大数据·开发语言·设计模式·命令模式·设计原则
java排坑日记6 小时前
poi-tl+kkviewfile实现生成pdf业务报告
java·pdf·word
V+zmm101346 小时前
校园约拍微信小程序设计与实现ssm+论文源码调试讲解
java·微信小程序·小程序·毕业设计·ssm