Maximum Product Subarray
given the array [2,3,-2,4],
the contiguous subarray [2,3] has the largest product = 6.Basic Idea:
Induction Rule:
maxProd[i] = max{ maxProd[i-1] * nums[i], minProd[i-1] * nums[i], nums[i] };
minProd[i] = min{ maxProd[i-1] * nums[i], minProd[i-1] * nums[i], nums[i] };
Base Case:
maxProd[0] = nums[0];
minProd[0] = nums[0];
其中 maxProd, minProd 两个数组中的element i 表示包含 nums[i] 在内的最大(小)乘积;