Skip to content

Commit

Permalink
Update 152.maximum-product-subarray
Browse files Browse the repository at this point in the history
  • Loading branch information
jeannotes authored Aug 26, 2024
1 parent 3d2a2c0 commit 0227920
Showing 1 changed file with 5 additions and 11 deletions.
16 changes: 5 additions & 11 deletions 152.maximum-product-subarray
Original file line number Diff line number Diff line change
@@ -1,19 +1,13 @@
class Solution {
public:
int maxProduct(vector<int>& nums) {
// vector<int> minF(nums), maxF(nums);
vector <long> maxF(nums.begin(),nums.end()), minF(nums.begin(), nums.end());
vector<long>minF(nums.begin(), nums.end()), maxF(nums.begin(), nums.end());

for(int i=1; i<nums.size(); i++){
maxF[i] = max((long)nums[i], max(maxF[i-1]*nums[i], minF[i-1]*nums[i]));
minF[i] = min((long)nums[i], min(maxF[i-1]*nums[i], minF[i-1]*nums[i]));
if(minF[i]<INT_MIN) {
minF[i]=(long)nums[i];
}
if(maxF[i]>INT_MAX){
maxF[i]=(long)nums[i];
}
maxF[i]=max((long)nums[i], max(nums[i]*minF[i-1] , nums[i]*maxF[i-1]));
minF[i]=min((long)nums[i], min(nums[i]*minF[i-1] , nums[i]*maxF[i-1]));
}

return *max_element(maxF.begin(), maxF.end());
return *max_element(maxF.begin(), maxF.end());
}
};

0 comments on commit 0227920

Please sign in to comment.