#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; } };