解题思想:动态规划 引用leetcode,侵权删。
状态定义 设动态规划列表 dpdp ,dp[i]dp[i] 代表以元素 nums[i]nums[i] 为结尾的连续子数组最大和。 为何定义最大和 dp[i]dp[i] 中必须包含元素 nums[i]nums[i] :保证 dp[i]dp[i] 递推到 dp[i+1]dp[i+1] 的正确性;如果不包含 nums[i]nums[i] ,递推时则不满足题目的 连续子数组 要求。 作者:jyd 链接:https://leetcode-cn.com/problems/lian-xu-zi-shu-zu-de-zui-da-he-lcof/solution/mian-shi-ti-42-lian-xu-zi-shu-zu-de-zui-da-he-do-2/ 来源:力扣(LeetCode)
转移方程
初始状态
返回值 返回dp列表中的最大值,代表全局最大值。
代码实现
class Solution:
def FindGreatestSumOfSubArray(self
, array
):
for i
in range (1,len(array
)):
array
[i
]+=max(array
[i
-1],0)
return max(array
)