## Introducing the problem

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&nbsp;< A.length - 1` such that:
• `A[0] < A[1] < ... A[i-1] < A[i]`
• `A[i] > A[i+1] > ... > A[A.length - 1]`

## The constraints

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:

1. `0 <= A.length <= 10000`
2. `0 <= A[i] <= 10000&nbsp;`

## How to solve this in Java

 `````` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 `````` ``````class Solution { // Input array of integers public boolean validMountainArray(int[] A) { // if we have less than 3 integers, it will always be false if (A.length<3) return false; // set our counter variables int len = A.length; int i = 0; // walk up the array until it decreases while (i+1 < len && A[i]A[i+1]) i++; // return a boolean if the counter is the same as the length return i == len-1; } } ``````