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

  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;
    }
}
相关推荐
Xの哲學几秒前
Linux UPnP技术深度解析: 从设计哲学到实现细节
linux·服务器·网络·算法·边缘计算
歌_顿几秒前
GPT 系列学习总结(1-3)
算法
业精于勤的牙4 分钟前
最长特殊序列(三)
算法
柏木乃一4 分钟前
进程(6)进程切换,Linux中的进程组织,Linux进程调度算法
linux·服务器·c++·算法·架构·操作系统
皮卡蛋炒饭.4 分钟前
前缀和与差分
算法
0x7F7F7F7F22 分钟前
算法竞赛数学知识大全
算法
业精于勤的牙1 小时前
最长特殊序列(二)
java·开发语言·算法
yong99901 小时前
C#实现OPC客户端与S7-1200 PLC的通信
开发语言·网络·算法·c#
yaoh.wang1 小时前
力扣(LeetCode) 111: 二叉树的最小深度 - 解法思路
python·程序人生·算法·leetcode·面试·职场和发展·深度优先
啊阿狸不会拉杆2 小时前
《数字图像处理》第 11 章 - 特征提取
图像处理·人工智能·算法·计算机视觉·数字图像处理