Skip to content

Latest commit

 

History

History

896

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 

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

Companies: Amazon, TikTok, Facebook, Google, Databricks, Adobe

Related Topics:
Array

Similar Questions:

Solution 1.

// OJ: https://leetcode.com/problems/monotonic-array/
// Author: github.com/lzl124631x
// Time: O(N)
// Space: O(1)
class Solution {
public:
    bool isMonotonic(vector<int>& A) {
        int dir = 0;
        for (int i = 1; i < A.size(); ++i) {
            int d = A[i] == A[i - 1] ? 0 : (A[i] > A[i - 1] ? 1 : -1);
            if (dir && d && dir != d) return false;
            if (d) dir = d;
        }
        return true;
    }
};