Maximum Product Subarray LeetCode solution in Python

1
class Solution:
2
def maxProduct(self, nums: List[int]) -> int:
3
prod = 1
4
maxprod = -100000000
5
for i in range(len(nums)): # traverse from L-R so that we get max
6
prod *= nums[i]
7
maxprod = max(maxprod, prod)
8
if prod == 0:
9
prod = 1
10

11
prod = 1
12
for i in range(
13
len(nums) - 1, -1, -1
14
): # if 0 or -ve present at starting then find from back
15
prod *= nums[i]
16
maxprod = max(maxprod, prod)
17
if prod == 0:
18
prod = 1
19

20
return maxprod

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0