【Leetcode_easy】941. Valid Mountain Array

problem

941. Valid Mountain Array

solution:

class Solution {
public:
    bool validMountainArray(vector<int>& A) {
        if(A.size()<3) return false;
        int max = A[0], max_id = 0;
        for(int i=1; i<A.size(); ++i)
        {
            if(A[i]>max) 
            {
                max = A[i];
                max_id = i;
            }
        }
        if(max_id==0 || max_id==A.size()-1) return false;//errr..
        for(int i=1; i<A.size(); i++)
        {
            if(i<max_id && A[i]<=A[i-1]) return false;//errr...
            if(i>max_id && A[i]>=A[i-1]) return false;//errr..
        }
        return true;
    }
};

 solution2:

class Solution {
public:
    bool validMountainArray(vector<int>& A) {
        int i=0, n=A.size()-1, j=n;
        while(i<n-1 && A[i]<A[i+1]) i++;
        while(j>0 && A[j-1]>A[j]) j--;
        return i>0 && i==j && j<n;        
    }
};

参考

1. Leetcode_easy_941. Valid Mountain Array;

2. discuss_climb_mountain;

posted on 2019-07-26 19:45  鹅要长大  阅读(158)  评论(0编辑  收藏  举报

导航