Skip to content

Latest commit

 

History

History
62 lines (46 loc) · 1.12 KB

File metadata and controls

62 lines (46 loc) · 1.12 KB

Problem Source

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

Problem Description

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

Thought

  • Use flag to learn the direction of array
  • Compare the flags

Keypoints

  • Flag

Code

  • Language: Java
class Solution {
    public boolean isMonotonic(int[] A) {
        boolean increasing=true;
        boolean decreasing=true;
        
        for(int i=1;i<A.length;i++){
            if(A[i]>A[i-1]) decreasing=false;
            if(A[i]<A[i-1]) increasing=false;
        }
        return increasing||decreasing;
    }
}

Complexity

  • Time Complexity:O(N), where N is the length of A.
  • Space Complexity:O(1)