LeetCode 896. Monotonic Array solution by Nilesh
Tags: 100dayschallengeleet, c, javascript, leetcode
Published: 2023-09-29 18:30:23

---
title: LeetCode 896. Monotonic Array solution by Nilesh
published: true
date: 2023-09-29 05:49:00 UTC
tags: 100DaysChallengeLeet,C,JavaScript,leetcode
canonical_url: https://www.nileshblog.tech/leetcode-896-monotonic-array/
---
# **Cracking the Code: Solving LeetCode 896 - Monotonic Array**

## **Introduction: Navigating the World of Coding Challenges**

Coding challenges, such as those found on LeetCode, are like a thrilling journey through a dense forest. Each challenge represents a unique trail filled with riddles and puzzles that test our problem-solving skills. In this post, we'll explore one such trail: [LeetCode 896](https://www.nileshblog.tech/leetcode-896-monotonic-array/), also known as the "[Monotonic Array](https://www.nileshblog.tech/leetcode-896-monotonic-array/)" problem. We'll embark on this adventure together, dissecting the problem and crafting a solution step by step.

## **Deciphering LeetCode 896: The Monotonic Array**

Imagine you're hiking up a mountain, and the terrain is either sloping upwards or downwards. A monotonic array is like that trail; it's a list of numbers that's consistently increasing or decreasing. In this coding challenge, we're given an array, and our task is to determine if it's monotonic. 

Let's take a closer look at the problem statement:
```python
Input: [1, 2, 2, 3]
Output: True

Input: [6, 5, 4, 4]
Output: True

Input: [1, 3, 2]
Output: False
```
## **Navigating the Coding Trail**

We start by defining our strategy. To tackle this problem, we can traverse the array and compare adjacent elements. If they are in non-decreasing or non-increasing order, we continue. If we find just one pair of elements that doesn't fit this pattern, we can confidently say the array isn't monotonic. 

Let's break down the process into steps:

### **Step 1: Handling Edge Cases**

Before diving into the loop, we must consider edge cases. What if the array has zero or only one element? In such cases, we can instantly declare it as monotonic because there's nothing to compare. Easy, right?

### **Step 2: Looping Through the Array**

We loop through the array, comparing each pair of adjacent elements. If we encounter a pair that doesn't align with the direction (either increasing or decreasing), we break the loop and declare the array as non-monotonic.

### **Step 3: Mission Accomplished**

If the loop completes without finding any conflicting pair of elements, we declare the array as monotonic. It's like reaching the mountain's summit – you've conquered the coding challenge!

## **Example in Python**

Let's see our solution in Python:

```python
def isMonotonic(A):
    if len(A) <= 1:
        return True

    increasing = decreasing = True

    for i in range(1, len(A)):
        if A[i] > A[i - 1]:
            decreasing = False
        elif A[i] < A[i - 1]:
            increasing = False

        if not increasing and not decreasing:
            return False

    return True
```

## **Conclusion: Conquering the Coding Summit**

In our journey through the [LeetCode 896 Monotonic Array](https://www.nileshblog.tech/leetcode-896-monotonic-array/) challenge, we've successfully cracked the code by developing an efficient Python solution. Like skilled adventurers, we learned how to navigate coding trails, handle edge cases, and make the right decisions at each turn.

Remember, coding challenges are like adventures – they require strategy, patience, and a willingness to learn from your mistakes. By practicing regularly, you'll become a coding explorer, ready to conquer new coding summits.

So, what's next on your coding adventure? Whether it's another LeetCode challenge or a new project, remember that each step brings you closer to becoming a coding master. Happy coding!