(Medium) Maximu Product Subarray
class Solution { public int maxProduct(int[] nums) { if(nums == null || nums.length ==0){ return 0; } int max = nums[0]; int min = nums[0]; int res = nums[0]; for(int i = 1; i<nums.length; i++){ if(nums[i]<0){ int tmp = min; min = max; max = tmp; } max = Math.max(max*nums[i], nums[i]); min = Math.min(min*nums[i], nums[i]); res = Math.max(max,res); } return res; } }