:orphan: Maximum Product Subarray ======================== .. highlight:: none Problem ------- https://leetcode.com/problems/maximum-product-subarray/ 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 * 10``\ :sup:```4``` - ``-10 <= nums[i] <= 10`` - The product of any subarray of ``nums`` is **guaranteed** to fit in a **32-bit** integer. .. highlight:: python Pattern ------- Array, Dynamic Programming Approaches ---------- .. tab-set:: .. tab-item:: Dynamic Programming **Code** .. literalinclude:: ../problems/medium/maximum-product-subarray/maximum_product_subarray__dynamic_programming.py :language: python :lines: 10- **Test** >>> from maximum_product_subarray__dynamic_programming import maxProduct >>> maxProduct([2, 3, -2, 4]) 6 >>> maxProduct([-2, 0, -1]) 0 .. autofunction:: maximum_product_subarray__dynamic_programming.maxProduct