天天看点

比较数组前后元素的大小关系时,注意下标是否越界

这道题是爬山题,注意比较A[i] < A[i + 1]的时候,i+1是否越界

941. Valid Mountain Array

Easy

12234FavoriteShare

Given an array ​

​A​

​​ of integers, return ​

​true​

​ if and only if it is a valid mountain array.

Recall that A is a mountain array if and only if:

  • ​A.length >= 3​

  • There exists some​

    ​i​

    ​​ with​

    ​0 < i < A.length - 1​

    ​ such that:
  • ​A[0] < A[1] < ... A[i-1] < A[i]​

  • ​A[i] > A[i+1] > ... > A[B.length - 1]​

Example 1:

Input: [2,1]

Output: false

Example 2:

Input: [3,5,5]

Output: false

Example 3:

class Solution {
public:
    bool validMountainArray(vector<int>& A) {
        int len = A.size();
        int indexA = 0;int indexB = len - 1;
        while(indexA + 1 < len && A[indexA] < A[indexA + 1]){
            indexA ++;
        }
        while(indexB - 1 >= 0 && A[indexB] < A[indexB - 1]){
            indexB--;
        }
        if(indexA == indexB && indexA > 0 && indexB <len - 1){
            return true;
        }
        return false;
    }
};