https://leetcode-cn.com/problems/maximum-subarray/
- 两个变量: 当前找到的最大值 (默认 0 元素), 用于累计的求和值
- 求和值如果小于 0, 则抛弃, 从新开始计算 sum, 否则求和值自加
- 刷新当前找到的最大值
public int maxSubArray(int[] nums) {
int max = nums[0];
int sum = 0;
for (int num : nums) {
if (sum <= 0) {
sum = num;
} else {
sum += num;
}
max = Math.max(max, sum);
}
return max;
}