leetcode刷题笔记(Golang)--53. Maximum Subarray

53. Maximum Subarray

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
}
发布了65 篇原创文章 · 获赞 0 · 访问量 378

猜你喜欢

转载自blog.csdn.net/weixin_44555304/article/details/104257540