- effect理解为副作用
- 遍历nums,获取其中某一项,在考虑他的最值问题时,需要考虑该项的左边effect对他的影响
- 如果是正作用,那么我们就加上他
- 如果是负作用,那么我们就不考虑他,重新以当前项为第一项重新计算最值问题
var maxSubArray = function(nums) {
var effect = 0, max = nums[0];
nums.forEach((x) => {
effect = Math.max(effect + x, x);
max = Math.max(max, effect);
});
return max;
};