152. 乘积最大子数组

题目链接 152. 乘积最大子数组
思路 最大子数组和-简单变体
题解链接 动态规划
关键点
时间复杂度 \(O(n)\)
空间复杂度 \(O(1)\)

代码实现:

class Solution:
    def maxProduct(self, nums: List[int]) -> int:
        answer = premax = premin = nums[0]
        for num in nums[1:]:
            cur_max = max(premax * num, premin * num, num)
            cur_min = min(premax * num, premin * num, num)
            answer = max(answer, cur_max)
            premax, premin = cur_max, cur_min
        return answer
posted @ 2024-09-18 23:15  WrRan  阅读(4)  评论(0编辑  收藏  举报