leetcode5.18

152.乘积最大数组

include

using namespace std;

include

include

class Solution {
public:
int maxProduct(vector& nums) {
int len = nums.size();
vectorvmax;
vectorvmin;
vmax.push_back(1);
vmin.push_back(1);
for (int i = 0; i < len; i++)
{
int tmp = nums[i];
if (tmp >= 0)
{
vmax.push_back( max(vmax[i] * nums[i], nums[i]));
vmin.push_back ( min(vmin[i] * nums[i], nums[i]));
}
else
{
vmax.push_back( max(vmin[i] * nums[i], nums[i]));
vmin.push_back(min(vmax[i] * nums[i], nums[i]));
}

}
int res = vmax[1];
for (int j = 1; j < len + 1; j++)
{
if (vmax[j] > res)res = vmax[j];
}
return res;

}
};

posted @ 2020-05-18 13:34  凌丨云  阅读(83)  评论(0)    收藏  举报