LeetCode 0152. Maximum Product Subarray Solution in Java, Python, C++, JavaScript, Go & Rust | Explanation + Code

CoderIndeed
0
0152. Maximum Product Subarray

Description

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.

Note that the product of an array with a single element is the value of that element.

 

Example 1:

Input: nums = [2,3,-2,4]
Output: 6
Explanation: [2,3] has the largest product 6.

Example 2:

Input: nums = [-2,0,-1]
Output: 0
Explanation: The result cannot be 2, because [-2,-1] is not a subarray.

 

Constraints:

  • 1 <= nums.length <= 2 * 104
  • -10 <= nums[i] <= 10
  • The product of any subarray of nums is guaranteed to fit in a 32-bit integer.

Solutions

Solution 1

PythonJavaC++GoTypeScriptRustJavaScriptC#
class Solution: def maxProduct(self, nums: List[int]) -> int: ans = f = g = nums[0] for x in nums[1:]: ff, gg = f, g f = max(x, ff * x, gg * x) g = min(x, ff * x, gg * x) ans = max(ans, f) return ans(code-box)

Post a Comment

0Comments

Post a Comment (0)

#buttons=(Accept !) #days=(20)

Our website uses cookies to enhance your experience. Check Now
Accept !