152. 乘积最大子数组
var prevMin = nums[0]; 初始化 当前字符串前面一个字符串,算出来的最小值
var prevMax = nums[0];。。。。。。最大值
var min = prevMin 在for循环内,先存一份prevMin
var max = prevMax;在for循环内,先存一份prevMax
prevMin = Math.min(nums[i], min * nums[i], max * nums[i]); 重新设置新的prevMin
prevMax = Math.max(nums[i], min * nums[i], max * nums[i]);重新设置新的prevMax
res = Math.max(res, prevMax); 优化res
var maxProduct = function (nums) {
var n = nums.length;
var prevMin = nums[0];
var prevMax = nums[0];
var res = nums[0];
for (var i = 1; i < n; i++) {
var min = prevMin
var max = prevMax;
prevMin = Math.min(nums[i], min * nums[i], max * nums[i]);
prevMax = Math.max(nums[i], min * nums[i], max * nums[i]);
res = Math.max(res, prevMax);
}
return res;
};