方法一 个人方法 双指针 :
左指针从数组开始,如果数组一直往右递增则一直往左移,右指针从数组末尾开始,如果数组一直往左递增则右指针一直左移,如果左右指针最后停留在同一个位置则该点就为封顶。注意交汇点不能是开头或者末尾。
var validMountainArray = function(arr) {
if(arr.length<3) return false
var left=0,right=arr.length-1
while(arr[left]<arr[left+1]){
left++
}
while(arr[right]<arr[right-1]){
right--
}
if(left===0 || right===arr.length-1) return false
return left===right
};
消耗时间和内存情况: