目录
- 一、题目描述
- 二、算法原理
- 三、代码实现
一、题目描述
二、算法原理
三、代码实现
class Solution {
public:
int maxProduct(vector<int>& nums)
{
int n=nums.size();
vector<int> f(n);
vector<int> g(n);
f[0]=g[0]=nums[0];
int ret=nums[0];
for(int i=1;i<n;i++)
{
f[i]=max(max(nums[i],nums[i]*f[i-1]),nums[i]*g[i-1]);
g[i]=min(min(nums[i],nums[i]*f[i-1]),nums[i]*g[i-1]);
ret=max(max(f[i],g[i]),ret);
}
return ret;
}
};