美文网首页
152. Maximum Product Subarray

152. Maximum Product Subarray

作者: HalcyonMoon | 来源:发表于2016-06-29 11:56 被阅读0次

    Find the contiguous subarray within an array (containing at least one number) which has the largest product.
    For example,

    given the array [2,3,-2,4], 
    the contiguous subarray [2,3] has the largest product = 6.
    
    
    public class Solution {
        public int maxProduct(int[] nums) {
            if(nums.length == 0){
                return 0;
            }
            if(nums.length == 1){
                return nums[0];
            }
            int max = nums[0], min = nums[0];
            int ret = max;
            
            for(int i = 1; i<nums.length; i++){
                int tempmax = max * nums[i];
                int tempmin = min * nums[i];
                max = Math.max(Math.max(tempmax, tempmin), nums[i]);
                min = Math.min(Math.min(tempmax, tempmin), nums[i]);
                ret = Math.max(ret, max);
            }
            return ret;
        }
    }
    

    相关文章

      网友评论

          本文标题:152. Maximum Product Subarray

          本文链接:https://www.haomeiwen.com/subject/xkfxjttx.html