Maximum Product Subarray

public class Solution {

    public int maxProduct(int[] A) {

        int res = A[0]; // max is local max, res is global max

        int tmax = res, tmin =res, max = res, min = res;

        for(int i=1; i< A.length; i++){

            tmax = max;

            tmin = min;

            max = Math.max(Math.max(tmax*A[i], tmin*A[i]), A[i]);

            min = Math.min(Math.min(tmax*A[i], tmin*A[i]), A[i]);

            res = Math.max(res,max);

        }

        return res;

    }

}

跟 jump game什么的一样

你可能感兴趣的:(array)