Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #Using DP
- class Solution:
- def maxProduct(self, nums: List[int]) -> int:
- minP = maxP = res = nums[0]
- for i in nums[1:]:
- minP, maxP = min(maxP*i, minP*i, i), max(maxP*i, minP*i, i)
- res = max(res, maxP)
- return res
- """
- Prefix Suffix Product (2 passes)
- class Solution:
- def maxProduct(self, nums: List[int]) -> int:
- curr, res = 1, nums[0]
- for i in nums:
- curr *= i
- res = max(res, curr)
- if curr == 0: curr = 1
- curr = 1
- for i in reversed(nums):
- curr *= i
- res = max(res, curr)
- if curr == 0: curr = 1
- return res
- """
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement