解题思路
一遍扫描
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
效果图