class Solution {
public:
int maxProduct(int A[], int n) {
if(n==0)
return 0;
int tempMax= A[0];
int tempMin = A[0];
int resMax = A[0];
for(int i = 1; i < n; ++i)
{
int copyMax = tempMax;
tempMax = max(max(tempMax*A[i], A[i]), tempMin*A[i]);
tempMin = min(min(copyMax*A[i], A[i]), tempMin*A[i]);
resMax = max(tempMax, resMax);
}
return resMax;
}
};leetcode Maximum Product Subarray
最新推荐文章于 2020-02-02 17:32:16 发布
本文介绍了一种求解最大子数组乘积问题的有效算法。该算法通过动态规划思想,利用临时最大值和最小值来记录过程中可能遇到的最大乘积与最小乘积,以此更新全局最大乘积值。
550

被折叠的 条评论
为什么被折叠?



