给定一个整数数组 A,如果它是有效的山脉数组就返回 true,否则返回 false。
让我们回顾一下,如果 A 满足下述条件,那么它是一个山脉数组:
A.length >= 3
在 0 < i < A.length - 1 条件下,存在 i 使得:
A[0] < A[1] < … A[i-1] < A[i]
A[i] > A[i+1] > … > A[B.length - 1]
解法一:
有四种情况要返回false,一当数组长度小于3,二当数组存在相等的元素,三是完全倒序或顺序,四是在峰顶之前有 i>i+1的 在峰顶之后存在 i<i+1
var validMountainArray = function(A) {
let s1=0,s2=0
for(let i=0;i<A.length-1;i++) {
if(A[i]<A[i+1]){
s2=1
if(s1==1) return false;
}else if(A[i]>A[i+1]){
s1=1
}else return false;
}
return s1==1 && s2==1 && A.length>2? true:false;
};