Given an array of integers nums, find the subarray with the largest product and return that product.
A subarray is a run of one or more elements that stand next to each other in nums. Its product is all of its elements multiplied together.
Example 1:
Input: nums = [2, 3, -2, 4] Output: 6 Explanation: The subarray [2, 3] has the largest product, 2 × 3 = 6. -2 is the only negative number, so every subarray that includes it has a negative product.
Example 2:
Input: nums = [-2, 0, -1] Output: 0 Explanation: The answer can't be 2: [-2, -1] is not a subarray, because 0 stands between them. The subarray [0] gives 0, and every other subarray gives 0 or less.
Example 3:
Input: nums = [-2, 3, -4] Output: 24 Explanation: The whole array: the two negative numbers cancel out, -2 × 3 × -4 = 24.
Constraints:
1 <= nums.size <= 105-10 <= nums[i] <= 10- The product of any subarray of
numsfits in a 32-bit integer.
Your algorithm should run in O(n) time and use O(1) extra space, where n is the length of nums.
Free plan: 30 tutor messages. PRO is unlimited.
Saved
Ctrl + Enter to check
