DEV Community

Abhishek Choudhary
Abhishek Choudhary

Posted on

Monotonic Array

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

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

Given an integer array nums, return true if the given array is monotonic, or false otherwise.

Example 1:

Input: nums = [1,2,2,3]
Output: true

Example 2:

Input: nums = [6,5,4,4]
Output: true

Example 3:

Input: nums = [1,3,2]
Output: false

Constraints:

  • 1 <= nums.length <= 105
  • -105 <= nums[i] <= 105

SOLUTION:

class Solution:
    def isMonotonic(self, nums: List[int]) -> bool:
        n = len(nums)
        grctr = 0
        lsctr = 0
        for i in range(1, n):
            if nums[i] >= nums[i - 1]:
                grctr += 1
            if nums[i] <= nums[i - 1]:
                lsctr += 1
        return grctr == 0 or grctr == n - 1 or lsctr == 0 or lsctr == n - 1
Enter fullscreen mode Exit fullscreen mode

Top comments (0)