941.有效的山峰数组
思路:从头到尾走一下,开始是判断A[i]<A[i+1],直到判断到>的那个位置,如果当前是0或者是size-1的话都说明结果有误;然后从当前的位置再开始往下判断,是否能一直到最后都是A[i]>A[i+1](或者两个指针也行)
bool validMountainArray(vector<int>& A) {
int length = A.size();
int i;
for(int i=0;i<length-1;i++){
if(A[i]<A[i+1])
i++;
}
if(i==length-1||i==0) return false;
for(;i<length-1;i++)
if(A[i]>A[i+1]
i++;
return i == length-1? true:false;
}
experience
虽然题很简单,但是要注意一些边界条件的判断,还有要注意数组的边界(有i-1/i+1这种东西的时候要注意一下)
tips:为0,为1 ,为边界