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

相关推荐
风栖柳白杨6 小时前
【面试】AI算法工程师_空白自测版本
人工智能·算法·面试
weixin_727535626 小时前
MinIO大文件上传深度拆解:从原理到生产落地的完整指南
java·中间件
摇滚侠7 小时前
Java 全栈开发实战教程 课程笔记 34-36
java·笔记
芝士熊爱编程7 小时前
创建型模式-单例模式
java·单例模式·设计模式
大模型码小白7 小时前
Spring AI 框架实战:Java 后端集成大模型的架构设计与工程落地
java·人工智能·python·spring
闪电悠米7 小时前
力扣hot100-73.矩阵置零-标记数组详解
算法·leetcode·矩阵
weixin_BYSJ19877 小时前
「课设设计」springboot校园超市助购系统26449 (附源码)
java·javascript·spring boot·python·django·flask·php
栋***t8 小时前
从“纸质试卷”到“AI智能组卷”,麦塔在线考试系统如何重构出题逻辑?
java·大数据·人工智能·算法·重构
wabs6668 小时前
关于图论【卡码网100.最大岛屿的面积的思考】
数据结构·算法·图论
CHANG_THE_WORLD8 小时前
深入理解递归:从函数调用到调用栈的完整执行过程
java·开发语言·算法