剑指offer-连续子数组的最大和

it2023-12-20  58

解题思想:动态规划 引用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列表中的最大值,代表全局最大值。

代码实现

# -*- coding:utf-8 -*- class Solution: def FindGreatestSumOfSubArray(self, array): # write code here for i in range (1,len(array)): array[i]+=max(array[i-1],0) return max(array)
最新回复(0)