【贪心算法】最大子序和

给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。

子数组是数组中的一个连续部分。

示例 1:

复制代码
输入:nums = [-2,1,-3,4,-1,2,1,-5,4]
输出:6
解释:连续子数组 [4,-1,2,1] 的和最大,为 6 。

示例 2:

复制代码
输入:nums = [1]
输出:1

示例 3:

复制代码
输入:nums = [5,4,-1,7,8]
输出:23

提示:当前面序数和为负数时,直接舍去前面的序数

(INT32_MAX与INT32_MIN 是 C++ 的宏定义,代表了整型变量能够存储的最大正整数和最小负整数,分别为 2147483647 和 -2147483648,这两个宏在头文件 <limits.h> 中定义。)

cpp 复制代码
class Solution {
public:
    int maxSubArray(vector<int>& nums) {
        int result=INT32_MIN;
        int count=0;
        for(int i=0;i<nums.size();i++)
        {
            count+=nums[i];
            if(count>result)
            {
                result=count;
            }
            if(count<=0)
            {
                count=0;
            }
        }
        return result;

    }
};
相关推荐
STLearner3 分钟前
AI论文速读 | QuitoBench:支付宝高质量开源时间序列预测基准测试集
大数据·论文阅读·人工智能·深度学习·学习·机器学习·开源
OYangxf7 分钟前
基于epoll的单线程Reactor:Tinyredis的网络层实现
c++·redis
睡觉就不困鸭15 分钟前
第十七天 翻转字符串里的单词
数据结构·算法·哈希算法·散列表
ulias21220 分钟前
leetcode热题 - 4
算法·leetcode·职场和发展
yinbinggang21 分钟前
vmware安装虚拟机
c++
学术阿凡提21 分钟前
Spring Boot 优雅实现异步调用:从入门到自定义线程池与异常处理
java·数据库·算法
MicroTech202531 分钟前
微算法科技(NASDAQ :MLGO)量子化边缘检测技术:重塑图像处理的新范式
图像处理·科技·算法
WolfGang00732135 分钟前
代码随想录算法训练营 Day47 | 图论 part05
算法·图论
醇氧36 分钟前
WSL2(Windows Subsystem for Linux ) 从入门到实践指南
linux·运维·服务器·windows·学习
李李李勃谦42 分钟前
基于鸿蒙PC多窗口特性的笔记管理工具开发实践
笔记·华为·harmonyos