Wednesday, February 26, 2020

896. Monotonic Array (easy)

Q:

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
    A:

    class Solution {
    public:
        bool isMonotonic(vector<int>& A) {
            int n = A.size();
            if(n==0)
                return true;
            if(A[0] <= A[n-1])
            {
                return checkIncrease(A);
            }else{
                return checkDecrease(A);
            }
        }
    private:
        bool checkIncrease(vector<int> &A)
        {
            for(int i =0;i<A.size()-1;++i)
            {
                if(A[i]>A[i+1])   
                    return false;
            }
            return true;
        }
        bool checkDecrease(vector<int> &A)
        {
            for(int i =0;i<A.size()-1;++i)
            {
                if(A[i]<A[i+1])
                    return false;
            }
            return true;
        }
    };

    No comments:

    Post a Comment