Given an integer array nums, find a
subarray
that has the largest product, and return the product.
The test cases are generated so that the answer will fit in a 32-bit integer.
[2, 3, -2, 4]
[2, 3] 이 곱이 6으로 가장 큰 곱을 가진 서브어레이이다.
class Solution:
def maxProduct(self, nums: List[int]) -> int:
M = nums[0]
m = nums[0]
p = nums[0]
for num in nums[1:]:
if num < 0:
M, m = m, M
M = max(num, M * num)
m = min(num, m * num)
p = max(p, M)
return p