class Solution {
public:
int maxTurbulenceSize(vector<int>& A) {
if (A.size()==0)
return 0;
int left=0,tmp=-1,res=1;
for (int i = 0; i <A.size()-1 ; ++i) {
if (A[i]>A[i+1]){
if (tmp==-1)
tmp=0;
else if (tmp==0){
res=max(res,i-left+1);
left=i;
i--;
tmp=-1;
} else{
if (i==A.size()-2)
res=max(res,i-left+2);
tmp=0;
}
}
else if(A[i]<A[i+1]){
if (tmp==-1)
tmp=1;
else if (tmp==1){
res=max(res,i-left+1);
left=i;
i--;
tmp=-1;
} else{
if (i==A.size()-2)
res=max(res,i-left+2);
tmp=1;
}
}
else if (A[i]==A[i+1])
res=max(res,i-left+1),left=i+1,tmp=-1;
}
return res;
}
};
LeetCode-978. 最长湍流子数组
最新推荐文章于 2021-02-08 23:28:50 发布