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的时候有多少种方法走上台阶。

相关推荐
largecode1 分钟前
如何让电话显示店名?来电显示店铺名称,提升有效接通率
java·开发语言·spring·百度·学习方法·业界资讯·twitter
xuhaoyu_cpp_java1 分钟前
SpringMVC学习(五)
java·开发语言·经验分享·笔记·学习·spring
橙淮4 分钟前
Java数组与链表:特性对比与应用场景
数据结构·算法
炽烈小老头7 分钟前
【每天学习一点算法 2026/05/15】被围绕的区域
学习·算法·深度优先
芜湖xin8 分钟前
【题解-洛谷】P1012 [NOIP 1998 提高组] 拼数
算法·贪心
计算机安禾12 分钟前
【c++面向对象编程】第22篇:输入输出运算符重载:<< 与 >> 的友元实现
java·前端·c++
旷世奇才李先生18 分钟前
Java虚拟线程原理与实践
java
heimeiyingwang22 分钟前
【架构实战】RPC框架Dubbo3.0:高性能Java通信之道
java·rpc·架构
i220818 Faiz Ul26 分钟前
宠物猫之猫咖管理系统|基于java + vue宠物猫之猫咖管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·宠物猫之猫咖管理系统
Nyarlathotep011338 分钟前
定时线程池:ScheduledThreadPoolExecutor
java·后端