leetcode 941 - Valid Mountain Array

https://leetcode.com/problems/valid-mountain-array/

Given an array of integers arr, return true if and only if it is a valid mountain array.

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

arr.length >= 3
There exists some i with 0 < i < arr.length - 1 such that:
arr[0] < arr[1] < … < arr[i - 1] < arr[i]
arr[i] > arr[i + 1] > … > arr[arr.length - 1]

Example 1:

Input: arr = [2,1]
Output: false
Example 2:

Input: arr = [3,5,5]
Output: false
Example 3:

Input: arr = [0,3,2,1]
Output: true

Constraints:

1 <= arr.length <= 10^4
0 <= arr[i] <= 10^4

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
class Solution {
public:
bool validMountainArray(vector<int>& arr) {
int size = arr.size();
int i = 0;

while (i < size) {
if (i > 0 && arr[i] <= arr[i - 1])
break;
i++;
}

if (i == 1 || i == size)
return false;

while (i < size) {
if (arr[i] >= arr[i-1])
break;
i++;
}

return i == size;
}
};