Wednesday, May 29, 2019

LeetCode [896] 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
    

    Note:
    1. 1 <= A.length <= 50000
    2. -100000 <= A[i] <= 100000
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    class Solution {
    public:
        bool isMonotonic(vector<int>& A) {
            int order = 0;//0 unknown; 1 increasing; 2 decreasing
            for(int i=1; i<A.size(); ++i)
            {
                if(A[i]>A[i-1]){
                    if(order==0) order = 1;
                    if(order==2) return false;
                }
                if(A[i]<A[i-1]){
                    if(order==0) order = 2;
                    if(order==1) return false;
                }
            }
            return true;
        }
    };
    

    No comments:

    Post a Comment