Skip to main content

53. Maximum Subarray

分析

考虑前面的元素能否为总和提供帮助
注意全都是负数的情况

题解

func maxSubArray(nums []int) int {
ans, temp := nums[0], nums[0]
for i := 1; i < len(nums); i++ {
temp = max(0, temp) + nums[i]
ans = max(ans, temp)
}

return ans
}

func max(a, b int) int {
if a > b {
return a
}
return b
}