-
题目描述
给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 -
实现效果
输入:nums = [-2,1,-3,4,-1,2,1,-5,4]
输出:6
解释:连续子数组 [4,-1,2,1] 的和最大和为 6 。 -
解决思路
关键词:连续,最大和
连续:遍历数组相加可以实现 for循环
最大和:逐个元素相加的过程中,如果当前和<0,则会造成与后面的元素相加结果变小,所以应该舍弃当前和,从下一个元素作为最大连续子数组的起点往下逐个相加;如果当前和>=0且与下一个元素相加结果为正,则比较最大值 和 相加和,更新最大值为较大的那个数。 -
算法实现
class Solution {
public static int maxSubArray(