youngyangyang04 / leetcode-master-comment

用来做评论区
0 stars 0 forks source link

[Vssue]0053.最大子序和(动态规划).md #141

Open youngyangyang04 opened 2 weeks ago

youngyangyang04 commented 2 weeks ago

https://www.programmercarl.com/0053.%E6%9C%80%E5%A4%A7%E5%AD%90%E5%BA%8F%E5%92%8C%EF%BC%88%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92%EF%BC%89.html

liamlycoder commented 6 days ago

由于递推只用到了上一个dp[i-1]的值,所以可以压缩为一个变量 go语言写法: func maxSubArray2(nums []int) int { lastMaxSubArray := nums[0] // 由于递推只用到了上一个dp[i-1]的值,所以可以压缩为一个变量 ret := nums[0] for i := 1; i < len(nums); i++ { // 递推有两种来源:1.延续前面的 2.抛弃前面的,直接从当前元素重新开始 lastMaxSubArray = max(lastMaxSubArray+nums[i], nums[i]) ret = max(ret, lastMaxSubArray) } return ret }