给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。
function maxSubArray(nums) {
let maxSum = nums[0];
let curSum = nums[0];
for (let i = 1; i < nums.length; i++) {
curSum = Math.max(nums[i], curSum + nums[i]);
maxSum = Math.max(maxSum, curSum);
}
return maxSum;
}
console.log(maxSubArray([-2,1,-3,4,-1,2,1,-5,4])); // 输出:6
console.log(maxSubArray([1])); // 输出:1
console.log(maxSubArray([5,4,-1,7,8])); // 输出:23