[LC] (152) 최대 제품 부분 배열

정수 배열 주어  nums, 최대 제품이 (적어도 하나 개의 번호를 포함) 어레이 내의 인접 서브 어레이를 찾는.

예 1 :

입력 : [2,3, -2,4] 
출력 : 6
설명 : [2,3]는 큰 생성물 (6)을 갖는다.

예 2 :

입력 : [-2,0은 -1] 
출력 : 0 
설명 : [-2, -1] 부분 배열되지 않기 때문에 결과는 2 수 없다.

클래스 해결 {
     공공  INT maxProduct ( INT []를 nums) {
         경우 (nums ==  || nums.length == 0 ) {
              0 ; 
        } 
        INT의 최대 = nums [0 ];
        INT 분 nums = [0 ];
        INT의 입술 nums = [0 ];
        INT preMax는 = 최대;
        위한 ( INT ; I <nums.length, I = 1 인 난 ++ ) {
             //는 비교 현재 포함
            최대 = Math.max (nums [I] Math.max (preMax * nums [I] 분 * nums [I]));  = Math.min (nums [I] Math.min (분 * nums [I] preMax * nums [I])); 
            입술 = Math.max (최대, 입술); 
            preMax는 = 최대; 
        } 
        반환 입술을; 
    } 
}

추천

출처www.cnblogs.com/xuanlu/p/12053862.html