(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;
    }
}

 

posted @ 2019-08-05 13:34  CodingYM  阅读(132)  评论(0编辑  收藏  举报