打卡题目:leetcode第152题,乘积最大子数组
    相似题目:53、198、213
    image.png


    【代码】

    1. class Solution:
    2. def maxProduct(self, nums: List[int]) -> int:
    3. pre_max = nums[0]
    4. pre_min = nums[0]
    5. cur = nums[0]
    6. for i in range(1, len(nums)):
    7. cur_max = max(pre_max * nums[i], pre_min * nums[i], nums[i])
    8. cur_min = min(pre_max * nums[i], pre_min * nums[i], nums[i])
    9. cur = max(cur_max, cur)
    10. pre_max = cur_max
    11. pre_min = cur_min
    12. return cur