53. 最大数组和
思路:
这题可以用在线处理算法(另一种程度上的滑动窗口)。既然是最大数组和,那么如果curRes小于等于0了,那么它对于最大数组和是没有贡献的,可以drop掉。
代码:
1 /** 2 * @param {number[]} nums 3 * @return {number} 4 */ 5 var maxSubArray = function(nums) { 6 let res = nums[0], curRes = nums[0]; 7 for(let i = 1; i < nums.length; i++){ 8 if(curRes <= 0){ 9 curRes = nums[i]; 10 }else{ 11 curRes += nums[i]; 12 } 13 res = Math.max(res, curRes); 14 } 15 return res; 16 };