Given an integer array nums, find the contiguous subarray (containing at least one number) which has the largest sum and return its sum.
Example:
Input: [-2,1,-3,4,-1,2,1,-5,4],
Output: 6
Explanation: [4,-1,2,1] has the largest sum = 6.
一维DP
func maxSubArray(nums []int) int {
res := nums[0]
curr := nums[0]
for i:=1; i < len(nums); i++ {
if curr < 0 {
curr = nums[i]
} else {
curr += nums[i]
}
if curr > res {
res = curr
}
}
return res
}