python实现leetcode之152. 乘积最大子数组

解题思路

一遍扫描

152. 乘积最大子数组

代码

class Solution:
    def maxProduct(self, nums: List[int]) -> int:
        mx = mi = ans = nums[0]
        for i in range(1, len(nums)):
            tmx, tmi = mx, mi
            mi = min(tmi * nums[i], nums[i], tmx * nums[i])
            mx = max(tmx * nums[i], nums[i], tmi * nums[i])
            ans = max(mx, ans)
        return ans
效果图

你可能感兴趣的:(python实现leetcode之152. 乘积最大子数组)