Skip to content

Latest commit

 

History

History
20 lines (20 loc) · 628 Bytes

File metadata and controls

20 lines (20 loc) · 628 Bytes
public class Solution {
    // DO NOT MODIFY THE LIST. IT IS READ ONLY
    public int maxProduct(final List<Integer> arr) {
        int A[]=new int[arr.size()];
        for(int i=0;i<A.length;i++){
            A[i]=arr.get(i);
        }
        int n = A.length, ans = A[0], pmax = A[0], pmin = A[0];
        for (int i = 1; i < n; i++) {
            int cmax = Math.max(A[i], Math.max(pmax * A[i], pmin * A[i]));
            int cmin = Math.min(A[i], Math.min(pmax * A[i], pmin * A[i]));
            ans = Math.max(ans, cmax);
            pmax = cmax;
            pmin = cmin;
        }
        return ans;
    }
}