最大子序和
LeetCode 53 力扣 53. 最大子序和
思路
nums[0]
记录当前子串和;遍历按个加元素,如果加之后maxSum更大就更新其数值;
遍历:
- 如果
sum <= 0
,那么后面的子序列肯定不包含目前的子序列,所以令sum = num
- 如果
sum > 0
,加上当前元素能使后面的子序列和更大,所以sum += num
let maxSum = 0;
let sum = nums[0]; // 记录当前和
// 按个加,如果加之后maxSum更大就更新
for (var num in nums){
if (sum <= 0){
// 如果sum<=0,那么后面的子序列肯定不包含目前的子序列,所以令sum = num
sum = num;
} else {
// 如果sum > 0,加上当前元素能使后面的子序列和更大
sum += num;
}
maxSum = Math.max(maxSum, sum)
}
return