# LeetCode 896. Monotonic Array

## Description

https://leetcode.com/problems/monotonic-array/

An array is monotonic if it is either monotone increasing or monotone decreasing.

An array `A` is monotone increasing if for all `i <= j``A[i] <= A[j]`.  An array `A` is monotone decreasing if for all `i <= j``A[i] >= A[j]`.

Return `true` if and only if the given array `A` is monotonic.

Example 1:

```Input: [1,2,2,3]
Output: true
```

Example 2:

```Input: [6,5,4,4]
Output: true
```

Example 3:

```Input: [1,3,2]
Output: false
```

Example 4:

```Input: [1,2,4,5]
Output: true
```

Example 5:

```Input: [1,1,1]
Output: true```

## Explanation

Check if array is in either ascending or descending order.

## Python Solution

``````class Solution:
def isMonotonic(self, A: List[int]) -> bool:

is_ascending = True

prev = None
for num in A:
if prev != None and num < prev:
is_ascending = False

prev = num

if is_ascending:
return True

is_descending = True
prev = None

for num in A:
if prev != None and num > prev:
print (num, prev)
is_descending = False
return False

prev = num

return is_descending
``````
• Time Complexity: O(N).
• Space Complexity: O(1).