最大子数组和【贪心算法】

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

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

java 复制代码
class Solution {
    public int maxSubArray(int[] nums) {
        //记录最大结果,初始化为最小值
        int sum = Integer.MIN_VALUE;
        //记录连续和
        int count = 0;

        for (int i = 0; i < nums.length; i++) {
            count += nums[i];//累加
            if (count > sum) {//遇到最大值及时记录,只保留最大的
                sum = count;
            }
            if (count < 0) {//遇到连续和为负数,就舍弃前面的。令count=0,相当于把下一个当作起点。
                count = 0;
            }
        }
        return sum;
    }
}
相关推荐
xuxigifxfh2 小时前
牛客:BISHI2 【模板】栈的操作
java·开发语言·windows·算法
aqiu1111112 小时前
【C++算法打怪专栏】LeetCode 402. 移掉 K 位数字(单调栈 + 贪心)
c++·算法·leetcode
糖果豆豆2 小时前
对象是字段,还是关系?集合论和范畴论吵了三十年,答案是两个都对
算法·架构
第六种自由3 小时前
[路飞]_Leetcode 22. 括号生成
javascript·算法·leetcode
isyoungboy3 小时前
事件驱动状态机与循环扫描状态机:两种计算模型的比较研究
算法·状态机
行者全栈架构师3 小时前
【鸿蒙心迹】从手机到平板、折叠屏——多端适配自查清单与踩坑实录(HarmonyOS 7.x)
前端·算法·架构
longlongzihan3 小时前
LeetCode 24.两两交换链表中的节点:虚拟头结点与指针
算法·leetcode·链表
residual_fan3 小时前
基于控制感知域对抗网络的变工况故障诊断:从控制系统与运行状态协同的角度建立模型
人工智能·算法·数据挖掘·数据分析
翻山越岭的少年3 小时前
用控制信号理解状态变化:基于控制感知域对抗网络的变工况故障诊断
算法
longlongzihan4 小时前
从LeetCode 19. 删除链表的倒数第 N 个结点深入理解“哨兵节点”
c++·算法·leetcode·链表