Merge pull request #528 from jiangjiangjiangjiangjiangjiangjiang/patch-1

Update 0053.最大子序和(动态规划).md
This commit is contained in:
程序员Carl
2021-07-30 10:27:09 +08:00
committed by GitHub

View File

@ -138,7 +138,35 @@ class Solution:
```
Go
```Go
// solution
// 1, dp
// 2, 贪心
func maxSubArray(nums []int) int {
n := len(nums)
// 这里的dp[i] 表示最大的连续子数组和包含num[i] 元素
dp := make([]int,n)
// 初始化由于dp 状态转移方程依赖dp[0]
dp[0] = nums[0]
// 初始化最大的和
mx := nums[0]
for i:=1;i<n;i++ {
// 这里的状态转移方程就是:求最大和
// 会面临2种情况一个是带前面的和一个是不带前面的和
dp[i] = max(dp[i-1]+nums[i],nums[i])
mx = max(mx,dp[i])
}
return mx
}
func max(a,b int) int{
if a>b {
return a
}
return b
}
```