动态规划_最大子数组和_C++

一.题目解析:

算法讲解:

1.状态表示:

dpi表示以i位置为结尾,子数组的和最大

2.状态转移方程

3.初始化

我们可以在前面加上一个虚拟节点,结合状态转移方程和状态表示,可以发现越界位置,并且d0以0位置为结尾,子数组的和最大,要不影响后面填表应该为最小值min

4.填表顺序

从左向右

5.返回值

返回dp表的最大值

二.代码实现:

cpp 复制代码
class Solution {
public:
    int maxSubArray(vector<int>& nums) {
        int n=nums.size();
        vector<int>dp(n+1);
        
        int ret=INT_MIN;
        for(int i=1;i<=n;i++)
        {
            dp[i]=max(dp[i-1]+nums[i-1],nums[i-1]);
            ret=max(dp[i],ret);
        }
        return ret;

    }
};
相关推荐
张宇Joaquin2 分钟前
openEuler编译和更换内核的方法
java·linux·服务器
Yweir4 分钟前
AI大模型开发-Python介绍、版本说明
开发语言·人工智能·python
程序员黑豆8 分钟前
Java正则表达式详解
java·前端·ai编程
Flynt1 小时前
我试了Spring Boot 4的原生镜像,聊聊那些数字和坑
java·spring boot
峥嵘life8 小时前
Android16 311Y3 EAP-TLS 网络连接失败分析与修复总结
android·开发语言·人工智能·php
ShineWinsu8 小时前
对于C++:IO流状态的详细解析
c++·面试·io·cin·io流状态·goodbit·failbit
M-Robots echo8 小时前
轻量化裁剪方案解析:M-Robots 模块化构建,适配高低端各类机器人硬件平台
java·机器人·ros·开源社区·atomgit·m-robots
不可求~9 小时前
多模型路由怎么落地:把任务分流写进项目的最小实现
java·前端·数据库
数模竞赛Paid answer9 小时前
2026年中青杯数学建模A题数学建模论文智能评估系统与多智能体优化方法求解全过程论文及程序
算法·数学建模·中青杯
银-豆豆9 小时前
数据结构与算法-动态规划、回溯与贪心
算法·动态规划