输入一个整型数组,数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。 要求时间复杂度为O(n)。
/**
/**
* @param {number[]} nums
* @return {number}
*/
var maxSubArray = function(nums) {
if(!nums.length){
return null
}
let max=nums[0]
let cur=0
for(let i=0,len=nums.length;i<len;i++){
cur+=nums[i]
max=Math.max(cur,max)
cur=cur<0?0:cur
}
return max
};