Skip to content

Commit 5cd52d6

Browse files
committed
Maximum Product Subarray solution
1 parent fa8af06 commit 5cd52d6

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
class Solution {
2+
public:
3+
int maxProduct(vector<int>& nums) {
4+
int result = nums[0];
5+
int curr_max = nums[0];
6+
int curr_min = nums[0];
7+
8+
for(int i = 1; i < nums.size(); i++){
9+
int tmp_max = curr_max;
10+
11+
curr_max = max(nums[i], max(curr_max * nums[i], curr_min * nums[i]));
12+
curr_min = min(nums[i], min(tmp_max * nums[i], curr_min * nums[i]));
13+
14+
result = max(result, curr_max);
15+
}
16+
17+
return result;
18+
}
19+
};

0 commit comments

Comments
 (0)