#include <algorithm>
#include <vector>
class Solution {
public:
//我觉得这题最离谱的是数据量好大
int maxProduct(vector<int>& nums) {
// write code here
int n = nums.size();
int ans = nums[0];
int preMax = nums[0];
int preMin = nums[0];
for(int i = 1; i < n; i++){
int t = preMax;
preMax = max(nums[i] * preMax,max(preMin * nums[i], nums[i]));
preMin = min(nums[i] * t,min(preMin * nums[i], nums[i]));
ans = max(ans, preMax);
}
return ans;
}
};

京公网安备 11010502036488号