Maximum Product Subarray

IF
AlgoAxiomStaff Engineers
JSTS
Medium20 mins

Given an integer array nums, find a contiguous non-empty subarray within the array 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.

A subarray is a contiguous subsequence of the array.

Examples

Example 1:

Input: nums = [2,3,-2,4]

Output: 6

Explanation: The subarray [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 contiguous subarray.

Example 3:

Input: nums = [-2,3,-4]

Output: 24

Explanation: The entire array [-2,3,-4] has the product 24.

Constraints

  • 1 <= nums.length <= 2 * 10^4
  • -10 <= nums[i] <= 10
  • The product of any subarray of nums is guaranteed to fit in a 32-bit integer.
Source: Dynamic Programming pattern — AlgoAxiom
JavaScript
Test Case 1
root = [1, 2, 3]
Test Case 2
root = [1, 2, 3, 4, 5]
Idle