C++(爬楼梯

我一开始,写了一个代码

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

一直报错,找了半天终于找到了当n为1时,数组只有2个int型内存,然而后面的

        dp[1]=1;
        dp[2]=2;

在索引为2时,有越界了,所以改的话:

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

扩大一下就行了。

相关推荐

  1. C++(楼梯

    2024-04-25 06:40:04       35 阅读
  2. C++ 70. 楼梯

    2024-04-25 06:40:04       100 阅读
  3. C语言入门算法——楼梯(了解动态规划)

    2024-04-25 06:40:04       89 阅读
  4. C++ 746. 使用最小花费楼梯

    2024-04-25 06:40:04       28 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-25 06:40:04       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-25 06:40:04       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-25 06:40:04       87 阅读
  4. Python语言-面向对象

    2024-04-25 06:40:04       96 阅读

热门阅读

  1. 力扣经典150题第三十九题:赎金信

    2024-04-25 06:40:04       37 阅读
  2. 前端开发需掌握的linux命令行

    2024-04-25 06:40:04       37 阅读
  3. SpringBoot钩子函数

    2024-04-25 06:40:04       32 阅读
  4. C# ToString

    2024-04-25 06:40:04       35 阅读
  5. 2024-04-24 问AI: 在深度学习中,CUDA 是什么?

    2024-04-25 06:40:04       38 阅读