classSolution:defmaxProduct(self,nums: List[int])->int: imax =1 imin =1 res =float('-inf')for num in nums:if num <0: imax, imin = imin, imax imax =max(imax*num, num) imin =min(imin*num, num) res =max(res, imax)return res
Runtime: 60 ms, faster than 66.82% of Python3 online submissions for Maximum Product Subarray.
Memory Usage: 12.8 MB, less than 100.00% of Python3 online submissions for Maximum Product Subarray.