aanndd 2020-04-27
Recall that A is a mountain array if and only if:
A.length >= 3
i
?with?0 < i?< A.length - 1
?such that:A[0] < A[1] < ... A[i-1] < A[i]
A[i] > A[i+1] > ... > A[A.length - 1]
Example 1:
Input: [2,1] Output: false
Example 2:
Input: [3,5,5] Output: false
Example 3:
Input: [0,3,2,1] Output: true
Note:
0 <= A.length <= 10000
0 <= A[i] <= 10000?
class Solution { public: bool validMountainArray(vector<int>& A) { int n = A.size(), i = 0, j = n - 1; while (i < n - 1 && A[i] < A[i + 1]) ++i; while (j > 0 && A[j - 1] > A[j]) --j; return i > 0 && j < n - 1 && i == j; } };
https://github.com/grandyang/leetcode/issues/941
https://leetcode.com/problems/valid-mountain-array/
https://leetcode.com/problems/valid-mountain-array/discuss/194941/C%2B%2B-Track-Peak
https://leetcode.com/problems/valid-mountain-array/discuss/194900/C%2B%2BJavaPython-Climb-Mountain