从数组(至少包含一个数字)中找出一个连续的子数组,该子数组的乘积最大。
1234567891011121314
class Solution: def maxProduct(self, nums): """ :type nums: List[int] :rtype: int """ # 6 star, 没做出来 # 从第二个开始,每次记录最大值和最小值,因为最小值乘以一个负数也可能是最大值 _max = small = big = nums[0] for i in nums[1:]: # small和big的递推公式 small, big = min(i, i*big, i*small), max(i, i*big, i*small) _max = max(_max, big) return _max