题目:
给你一个整数数组 nums
,请你找出数组中乘积最大的连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。
一刷:
class Solution:
def maxProduct(self, nums: List[int]) -> int:
max_, min_, ans = nums[0], nums[0], nums[0]
for i in range(1, len(nums)):
tmp_max, tmp_min = max_, min_
max_ = max(tmp_max * nums[i], max(nums[i],tmp_min * nums[i]))
min_ = min(tmp_min * nums[i], min(nums[i],tmp_max * nums[i]))
ans = max(max_, ans)
return ans