找出一个序列中乘积最大的连续子序列(至少包含一个数)。
数组长度不超过20000
乘积最大的子序列的积,小于2147483647
您在真实的面试中是否遇到过这个题?
样例
样例 1:
输入:[2,3,-2,4]
输出:6
样例 2:
输入:[-1,2,4,1]
输出:8
int maxProduct(vector<int> &nums) {
// write your code here
int size = nums.size();
int maxInt = INT_MIN;
for(int i=0;i<size;i++)
{
int sum = nums[i];
if(sum > maxInt)
{
maxInt = sum;
}
for(int j=i+1;j<size;j++)
{
sum *= nums[j];
if(sum > maxInt)
{
maxInt = sum;
}
}
}
return maxInt;
}