class Solution {
public:
int maxProduct(vector<int>& nums) {
int result = nums[0];
int nums_len = nums.size();
int pos = 0;
int neg = 0;
for(int i = 0; i < nums_len; i++)
{
if(nums[i] == 0)
{
pos = 0;
neg = 0;
if(result < 0)
result = 0;
}
else if(nums[i] > 0)
{
pos *= nums[i];
neg *= nums[i];
if(!pos)
pos = nums[i];
if(pos > result)
result = pos;
}
else
{
int tmp = pos;
pos = neg * nums[i];
neg = tmp * nums[i];
if(!neg)
neg = nums[i];
if(pos && pos > result)
result = pos;
}
}
return result;
}
};
Leetcode 152: maximum product sum
最新推荐文章于 2022-03-16 09:36:38 发布