To Index

941.Valid Mountain Array

题目难度 Easy

给定一个整数数组 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]

示例 1:

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

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

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


提示:

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

方法:此题与852有些相似,但题目要求是判断是否是山脉数组,而不是找出山脉。

class Solution {
public:
    bool validMountainArray(vector<int>& A) {
        size_t As=A.size();
        if(As <3)
            return false;
        int st=0,et=As-1;
        while(st<et)
        {
            if(A[st]>=A[st+1])
                break;
            st++;
        }
        if(st==et) return false;
        while(et>st)
        {
            if(A[et]>=A[et-1])
                break;
            et--;
        }
        return st==et && st ;

    }
};