class Solution {
public:
/**
*
* @param n int整型
* @param num int整型vector
* @return int整型
*/
int getMaxLength(int n, vector<int>& num) {
// write code here
//思路是,维护两个单调栈
vector<int> up(n+1);
vector<int> down(n+1);
int uptmp = 0;
int downtmp = 0;
for(int i = 1; i<n; i++){
if(num[i-1]<num[i])up[i] = up[i-1]+1;
else up[i] = 0;
}
for(int i = n-2; i>=0; i--){
if(num[i]>num[i+1])down[i] = down[i+1]+1;
else down[i] = 0;
}
int res = 0;
for(int i=0;i<n;i++){
res = max(res,up[i]+down[i]);
}
return res+1;
}
};</int></int></int>