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

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

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

    \bullet 目录

    \bullet 题号

    \bullet 思路

        由于是连续子数组,则dp[i]应当依赖于前一个的值,这和最大子数组和有异曲同工之妙

        但是这仅在数组每一项均为正数的情况下成立

        若数组中存在偶数对的负数,如[-1,2,3,-4,5]

        则在dp[2]时,由于-2*3<-2,故子数组[-1,,2]将被舍弃

        但是在dp[3]时,由于nums[3]为负,故被舍弃的-6应当参与运算

        故,应当想办法将其记录下来

        并在下一次运算dp时,发现为负数时将-6拿出来参与计算

        故考虑准备两个数组maxF和minF分别表示以i结尾的最大乘积可最小乘积

        若当前是负数,则希望前一个乘积越小越好

        则分别将nums[i]并入前一个计算即可

    \bullet 实现

    相关文章

      网友评论

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

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