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

  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;
    }
}
相关推荐
mmmmath_315 分钟前
LeetCode.225.用队列实现栈
算法
Elaine33615 分钟前
数据结构与算法-程序
数据结构·python·算法·计算机基础·编程基础
2601_9657422218 分钟前
布局GEO AI本地营销,我重点看这几个细节
大数据·人工智能·算法·ai·新媒体运营
EatFan19 分钟前
AI Agent 上生产前先加三道闸门:审批、限权、可回放的工程实践
人工智能·python·算法·多智能体·ai agent·mcp·harness
思茂信息41 分钟前
CST软件BCI仿真模型及仿真案例
开发语言·单片机·嵌入式硬件·算法·emc
Persistent的粽子!1 小时前
双指针算法:最大盛水容器
c++·算法·leetcode
hold?fish:palm2 小时前
44 二叉搜索树中第K小的元素
开发语言·c++·算法
Chen—LSN2 小时前
C语言——⽂件操作(1)
c语言·开发语言·c++·经验分享·笔记·算法·链表
anew___2 小时前
《从零手写操作系统 (11):文件系统初探——initrd与VFS抽象层》
java·javascript·算法
Chen—LSN3 小时前
C语言——文件操作(2)
c语言·开发语言·c++·经验分享·笔记·算法·c#