leecode第一百五十二题(乘积最大子序列)
class Solution { public: int maxProduct(vector<int>& nums) { int len=nums.size(); int result=INT_MIN; int imax=1; int imin=1; for(int i=0;i<len;i++) { if(nums[i]<0) { int temp=imax; imax=imin; imin=temp; } imax=max(imax*nums[i],nums[i]); imin=min(imin*nums[i],nums[i]); result=max(result,imax); } return result; } };
分析:
负数反转我真没想到。