problem
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;
完