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