정수 배열 주어 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는 = 최대; } 반환 입술을; } }