941. 有效的山脉数组

给定一个整数数组 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[A.length - 1]

 

 

 

示例 1:

输入:[2,1]
输出:false
示例 2:

输入:[3,5,5]
输出:false
示例 3:

输入:[0,3,2,1]
输出:true
 

提示:

0 <= A.length <= 10000
0 <= A[i] <= 10000 

//采用双指针法
public boolean validMountainArray(int[] a) {
    if (a.length < 3) return false;
    int start = 0;
    int end = a.length - 1;
    while (start < a.length - 1 && a[start] < a[start + 1]) start++;
    while (end > 0 && a[end] < a[end - 1]) end--;
    if (start == end && start != 0 && end != a.length - 1) return true;
    else return false;
}

 

  

posted @ 2020-11-04 08:39  进击的小渣渣!!  阅读(74)  评论(0)    收藏  举报