连续子数组的最大和
连续子数组的最大和
问题1:给定任意一个数组A求最大的连续子数组的和
动态规划思想
描述:dp[i]表示以A[i]为尾元素的最大连续子数组
状态转移方程:dp[i + 1] = max(dp[i], 0) + A[i + 1]
初始化dp[0]为 0
证明
假设存在一个以A[i]为尾元素的连续子数组的和为m,使得m + A[i+1] > dp[i] + A[i+1],则m > dp[i],这与我们的假设前提矛盾,,所以m <= dp[i]。即以A[i + 1]为尾元素的连续子数组的长度不为
原创
2021-04-20 17:54:32 ·
140 阅读 ·
0 评论