leecode-152. 乘积最大子数组
152. 乘积最大子数组
public int maxProduct(int[] nums) {
int max = Integer.MIN_VALUE,imax = 1,imin = 1;
for(int x : nums){
if(x < 0){
imax = imax ^ imin;
imin = imax ^ imin;
imax = imax ^ imin;
}
//每个位置的最大子乘积
imax = Math.max(imax * x,x);
//每个位置的最小子乘积
imin = Math.min(imin * x,x);
max = Math.max(max,imax);
}
return max;
}