// sum[i-1] > 0, sum[i] = nums[i] + sum[i-1]
// sum[i-1] <= 0 sum[i] = nums[i]
func maxSubArray(nums []int) int {
max, sum := nums[0], 0
for i:=0; i<len(nums); i++ {
if sum > 0 {
sum += nums[i]
}else {
sum = nums[i]
}
if sum > max {
max = sum
}
}
return max
}