- 最大子数组和
给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。
子数组 是数组中的一个连续部分。
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;
}
}