Skip to content

Commit d8799db

Browse files
Create max_product_subarray.cpp
1 parent 580d38a commit d8799db

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

max_product_subarray.cpp

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

0 commit comments

Comments
 (0)