LeetCode152 乘积最大子数组

LeetCode152 乘积最大子数组

同时统计min和max即可考虑正负关系

class Solution(object):
    def maxProduct(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """
        f_min, f_max, l = [nums[0]], [nums[0]], len(nums)
        for i in range(1, l):
            f_max.append(max(nums[i], nums[i] * f_max[-1], nums[i] * f_min[-1]))
            f_min.append(min(nums[i], nums[i] * f_max[-2], nums[i] * f_min[-1]))
        
        # print(f_max)
        # print(f_min)
        return max(f_max)

posted on 2022-07-29 10:15  solvit  阅读(15)  评论(0)    收藏  举报

导航