class Solution {
public:
int maxProduct(vector<int>& nums) {
int numMin = nums[0];
int numMax = nums[0];
int Max = nums[0];
for(int i = 1;i<nums.size();i++)
{
if(nums[i]<0)
{
int t1 = numMax,t2 = numMin;
numMax = max(nums[i],t2*nums[i]);
numMin = min(nums[i],t1*nums[i]);
}
else
{
int t1 = numMax,t2 = numMin;
numMax = max(nums[i],t1*nums[i]);
numMin = min(nums[i],t2*nums[i]);
}
Max = max(Max,numMax);
}
return Max;
}
};