2023.9.2
可以用双指针法来做,left指向数组起点,right指向数组终点,left满足条件则左移,right满足条件则右移,最终两指针重合则返回true。 期间任一条件不满足则返回false。 代码如下:
class Solution {
public:
bool validMountainArray(vector<int>& arr) {
if(arr.size() < 3) return false;
int left = 0;
int right = arr.size()-1;
while(arr[left] < arr[left+1] && left <= right) left++;
if(left == right || arr[left] == arr[left+1] || left == 0) return false;
while(arr[right] < arr[right-1] && right > left) right--;
if(right == left) return true;
else return false;
}
};