classSolution{public:intgetMaxLen(vector<int>& nums){int res =(nums[0]>0)?1:0;int p =(nums[0]>0), q =(nums[0]<0);for(int i =1; i < nums.size(); i ++){if(nums[i]>0){
p ++;
q =(q ==0?0: q +1);
res =max(res, p);}elseif(nums[i]<0){int np =(q ==0?0: q +1);int nq = p +1;
p = np;
q = nq;
res =max(res, np);}else{
p =0;
q =0;}}return res;}};
乘积最大子序列class Solution {public: int maxProduct(vector<int>& nums) { int maxn = INT_MIN, imax = 1, imin = 1; for (int i = 0; i < nums.size(); i ++ ) { if (nums[i] < 0) swap(imax, imin); im