美文网首页
DP--最大子数组和(线性-单串)

DP--最大子数组和(线性-单串)

作者: 习惯水文的前端苏 | 来源:发表于2022-02-16 09:33 被阅读0次

\bullet 目录

\bullet 题目

\bullet 思路

    状态定义:dp[i]表示以i结尾的最大子数组和

    转移方程:

        计算dp[i]时,dp[0]到dp[i-1]的值已经求出

        由于是连续数组,故不存在将nums[i]逐个与dp[n]搭配求解的过程

        换言之

        dp[i]仅与dp[i-1]有关

        考虑极端情况下

        当dp[i-1]<0时,求得的结果更小,故应舍弃

        因此状态转移方程为:dp[i] = nums[i] > 0 ? nums[i] + max(dp[i-1],0) : max(dp[i-1],0)

    初始值:

        由于仅依赖比i小的O(1)个子问题,故用一个变量pre初始为0

    边界:

        dp[i-1]是否小于0,如果是<0,则舍弃

        dp[i]是否小于0,如果是,则舍弃

\bullet 实现

相关文章

网友评论

      本文标题:DP--最大子数组和(线性-单串)

      本文链接:https://www.haomeiwen.com/subject/esdmkrtx.html