package leetcode;

/**
 * https://leetcode.com/problems/maximum-product-subarray/
 */
public class Problem152 {
    public int maxProduct(int[] nums) {
        // TODO:
        return 0;
    }
    
    public static void main(String[] args) {
        Problem152 prob = new Problem152();
        System.out.println(prob.maxProduct(new int[]{ 2, 3, -2, 4 }));
    }
}

@@ -104,17 +104,20 @@
 lem152 %7B
+   
 %0A
-
     publ
@@ -160,204 +160,642 @@
     
-// TODO:%0A        return 0;%0A    %7D%0A    %0A    public static void main(String%5B%5D args) %7B%0A        Problem152 prob = new Problem152();%0A        System.out.println(prob.maxProduct(new int%5B%5D%7B 2, 3, -2, 4 %7D))
+int max = nums%5B0%5D;%0A        int tmpMax = nums%5B0%5D;%0A        for (int i = 1; i %3C nums.length; i++) %7B%0A            if (tmpMax * nums%5Bi%5D == 0) %7B%0A                tmpMax = nums%5Bi%5D;%0A            %7D else %7B%0A                tmpMax *= nums%5Bi%5D;%0A            %7D%0A            max = Math.max(Math.max(tmpMax, nums%5Bi%5D), max);%0A        %7D%0A        tmpMax = nums%5Bnums.length-1%5D;%0A        for (int i = nums.length-2; i %3E= 0; i--) %7B%0A            if (tmpMax * nums%5Bi%5D == 0) %7B%0A                tmpMax = nums%5Bi%5D;%0A            %7D else %7B%0A                tmpMax *= nums%5Bi%5D;%0A            %7D%0A            max = Math.max(Math.max(tmpMax, nums%5Bi%5D), max);%0A        %7D%0A        return max
 ;%0A  

Solve problem 152