Skip to content

Latest commit

 

History

History
19 lines (18 loc) · 362 Bytes

面试题42. 连续子数组的最大和.md

File metadata and controls

19 lines (18 loc) · 362 Bytes
// 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
}