K12教育赛事综合服务平台
聚乐之家官方网站
下载聚乐之家官方App
专注青少年竞赛题库网站
最大连续子数组和问题指:给定一个整数数组nums,找出和最大的连续非空子数组,返回其最大和。
nums
状态dp[i]可以定义为以第i个元素结尾的最大连续子数组和,状态转移方程为dp[i] = max(nums[i], dp[i-1] + nums[i])
dp[i]
dp[i] = max(nums[i], dp[i-1] + nums[i])
状态dp[i]定义为前i个元素中的最大连续子数组和,转移方程为dp[i] = max(dp[i-1], dp[i-1] + nums[i])
dp[i] = max(dp[i-1], dp[i-1] + nums[i])
该问题的线性动态规划解法时间复杂度为O(n²),空间复杂度固定为O(n)
该问题无法通过滚动变量优化动态规划的空间复杂度