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 <= jA[i] <= A[j].  An array A is monotone decreasing if for all i <= jA[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).

Leave a Reply

Your email address will not be published. Required fields are marked *