该题目较简单,时间比较紧,还要做题目,所以不够优化。
class Solution {
public:
bool validMountainArray(vector<int>& A) {
if(A.size() < 3) //个数小于3,直接返回false
return false;
if(A[0]>=A[1]) //直接返回false
return false;
for(int i = 1;i < A.size(); i++)
{
if(A[i-1] > A[i]) //当数字开始下降时候处理
{
for(int j = i - 1; j + 1 < A.size();j++) //如果再出现上升,直接返回false
{
if(A[j] <= A[j+1])
return false;
}
return true;
}
if(A[i-1] == A[i]) //两数字相等,直接返回false,题目要求不等
return false;
}
return false; //当能到这里,肯定为严格升序,没有降序,比如1,2,3,4
//返回false
}
};