题目分析:
通过挨个计算出所有子数组的乘积,通过比较得出最大值,同时记录下第一个元素的位置,以及求到的子数组的长度,并输出最终的子数组结果。
代码如下:
class Solution {
public:
int maxProduct(vector<int>& nums) {
int max1=nums[0];
int lm=nums.size();
for(int i=0;i<lm;i++){
int res=nums[i];
if(res>=max1)
max1=res;
for(int j=1;j<lm-i;j++){
res=res*nums[i+j];
if(res>=max1)
max1=res;
}
}
return max1;
}
};