int Solution::maxProduct(const vector<int> &A) {
int maxval=A[0],minval=A[0],max_prod=A[0];
for(int i=1;i<A.size();i++)
{
if(A[i]<0) swap(maxval,minval);
maxval=max(A[i],maxval*A[i]);
minval=min(A[i],minval*A[i]);
max_prod=max(max_prod,maxval);
}
return max_prod;
}
Very Short and Easy Cpp Solution O(N) time & O(1) space
msbobby87
#1