152. Maximum Product Subarray
class Solution {
public:
int maxProduct(vector<int>& nums)
{
int n = nums.size();
int curMax = nums[0], curMin = nums[0];
int res = curMax;
for (int i = 1; i < n; i++)
{
int cur = nums[i];
int tempMax = max({cur, curMax * cur, curMin * cur});
curMin = min({cur, curMax * cur, curMin * cur});
curMax = tempMax;
res = max(curMax, res);
}
return res;
}
};
- T:
- S: