【贪心算法】最大子序和

给你一个整数数组 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;

    }
};
相关推荐
佩洛君2 分钟前
如何在Ubuntu22.04中安装ROS2-Humble
c++·python·ros2
Fabarta技术团队8 分钟前
务实、灵活——枫清科技财务单证智能审核方案 以AI自学习驱动审核提效与规则进化
人工智能·科技·学习
不会写DN18 分钟前
为什么map查找时间复杂度是O(1)?
算法·哈希算法·散列表
Qinn-19 分钟前
【工作笔记】锁等待超时错误 排查
笔记
始三角龙22 分钟前
LeetCode hoot 100 -- 找到字符串中的所有字母异位词
算法·leetcode·职场和发展
abant227 分钟前
leetcode 45 跳跃问题2 很难的贪心
算法·leetcode·职场和发展
星幻元宇VR27 分钟前
VR科普赛车|沉浸式学习交通安全知识
科技·学习·安全·生活·vr
小糯米60127 分钟前
C语言指针3
c语言·数据结构·算法
ZPC821033 分钟前
ROS2 通信提速快过UDP
人工智能·算法·机器人
RD_daoyi34 分钟前
谷歌2026年 3 月核心更新深度解析:SEO 从内容优化到信息供给系统的全面重构
人工智能·算法·重构