目录
- 一、题目描述
- 二、算法原理
- 三、代码实现
一、题目描述
二、算法原理
三、代码实现
class Solution {
public:int getMaxLen(vector<int>& nums) {int n=nums.size();vector<int> f(n);vector<int> g(n);f[0]=nums[0]>0?1:0;g[0]=nums[0]<0?1:0;int ret=f[0];for(int i=1;i<n;i++){if(nums[i]>0) {f[i]=1+f[i-1];g[i]=g[i-1]==0?0:1+g[i-1];}else if(nums[i]<0){f[i]=g[i-1]>0?1+g[i-1]:0;g[i]=1+f[i-1];}ret=max(f[i],ret);}return ret;}
};