1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| class Solution { public int maxProduct(int[] nums) { int maxRes = nums[0]; int curMax = nums[0]; int curMin = nums[0];
for(int i = 1; i < nums.length; i ++) { int tmax = curMax; int tmin = curMin;
curMax = Math.max(Math.max(tmax * nums[i], tmin * nums[i]), nums[i]); curMin = Math.min(Math.min(tmax * nums[i], tmin * nums[i]), nums[i]);
maxRes = Math.max(maxRes, curMax); } return maxRes; } }
|