刷代码随想录有感(98):动态规划——爬楼梯

题干:

代码:

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

其实就是斐波那契数列,但是我有一个疑惑,为什么dp数组大小要设置成n+1,chat的回答是dp数组索引从0开始。其实这题把dp[0]删了也能通过,但一般是默认dp[0]存在的,本题默认dp[0]存在且值为0。

相关推荐
kaikaile19951 分钟前
MATLAB 灰度图像的二维傅里叶变换
算法·计算机视觉·matlab
仰泳的熊猫7 分钟前
1112 Stucked Keyboard
数据结构·c++·算法·pat考试
roman_日积跬步-终至千里12 分钟前
【计算机算法与设计(14)】例题五:最小生成树:Prim算法详细解释:π的含义、更新逻辑和选点原因
算法
让学习成为一种生活方式13 分钟前
压缩文件夹下下所有文件成压缩包tar.gz--随笔016
算法
嗷嗷哦润橘_18 分钟前
AI Agent学习:MetaGPT项目之RAG
人工智能·python·学习·算法·deepseek
不忘不弃37 分钟前
指针元素的使用
算法
he___H39 分钟前
滑动窗口一题
java·数据结构·算法·滑动窗口
AI科技星40 分钟前
统一场论质量定义方程:数学验证与应用分析
开发语言·数据结构·经验分享·线性代数·算法
ULTRA??41 分钟前
KD-Tree的查询原理
python·算法
jianfeng_zhu1 小时前
不带头节点的链式存储实现链栈
数据结构·算法