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.
Input: nums = [2, 3, -2, 4] Output: 6 Explanation: [2, 3] has the largest product of 6. Including -2 turns the product negative.
Input: nums = [-2, 0, -1] Output: 0 Explanation: The zero element splits the array. No subarray spanning across the zero can beat 0, and [-2] and [-1] are both negative, so 0 is the maximum.
nums is guaranteed to fit in a 32-bit integernums = [2, 3, -2, 4]