给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。
输入: [-2,1,-3,4,-1,2,1,-5,4], 输出: 6 解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。
删除前面为负数的字串
/**
* @param {number[]} nums
* @return {number}
*/
var maxSubArray = function(nums) {
var i = 0;
var l = nums.length;
var ans = -1000000;
var sum = 0;
if (nums.length === 1) return nums[0]
for(i=0; i<l; i++)
{
sum += nums[i];
if(sum > ans)
{
ans = sum;
}
if(sum < 0)
{
sum = 0; //子串和为负数,丢掉
}
}
return ans;
};