152. Maximum Product Subarray

class Solution {
    public int maxProduct(int[] nums) {
        int res=nums[0];
        for(int i=1, imax=res,imin=res;i<nums.length;i++)
        {
            int cmax=Math.max(nums[i]*imax,nums[i]*imin);
            int cmin=Math.min(nums[i]*imax,nums[i]*imin);
            imax=Math.max(nums[i],cmax);
            imin=Math.min(nums[i],cmin);
            res=Math.max(res, imax);
        }
        return res;
    }
}

  

posted @ 2017-10-18 06:38  Weiyu Wang  阅读(107)  评论(0编辑  收藏  举报