Talk is cheap.
func maxSubArray(nums []int) int {
tmp := nums[0]
best := nums[0]
for _, v := range nums[1:] {
tmp = max(v, v + tmp)
best = max(best, tmp)
}
return best
}
func max(a, b int) int {
if a > b {
return a
}
return b
}