Skip to content

Commit 610367c

Browse files
committed
maximum-product-subarray
1 parent c78a14d commit 610367c

1 file changed

Lines changed: 24 additions & 0 deletions

File tree

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
class Solution {
2+
public int maxProduct(int[] nums) {
3+
int n = nums.length;
4+
int[] dpMax = new int[n];
5+
int[] dpMin = new int[n];
6+
7+
dpMax[0] = nums[0];
8+
dpMin[0] = nums[0];
9+
for (int i = 1; i < n; i++){
10+
dpMax[i] = Math.max(Math.max(dpMax[i-1]*nums[i], nums[i]), dpMin[i-1]*nums[i]);
11+
dpMin[i] = Math.min(Math.min(dpMin[i-1]*nums[i], nums[i]), dpMax[i-1]*nums[i]);
12+
}
13+
return findMax(dpMax);
14+
}
15+
16+
public int findMax(int[] dp) {
17+
int answer = dp[0];
18+
for (int i = 0; i < dp.length; i++) {
19+
answer = Math.max(dp[i], answer);
20+
}
21+
return answer;
22+
}
23+
}
24+

0 commit comments

Comments
 (0)