Blogs Hub

Valid Mountain Array - Array - Easy - LeetCode - MiniTV

Valid Mountain Array - Array - Easy - LeetCode - मिनी टीवी

Given an array A of integers, return true if and only if it is a valid mountain array.

Recall that A is a mountain array if and only if:

A.length >= 3
There exists some i with 0 < i < A.length - 1 such that:
A[0] < A[1] < ... A[i-1] < A[i]
A[i] > A[i+1] > ... > A[A.length - 1] 

Example 1:

Input: [2,1]
Output: false
Example 2:

Input: [3,5,5]
Output: false
Example 3:

Input: [0,3,2,1]
Output: true
 

Note:

0 <= A.length <= 10000
0 <= A[i] <= 10000 

public class Solution {
    public bool ValidMountainArray(int[] A) {
        if(A.Length<3){
            return false;
        }
        
        if(A[0]>A[1]){
            return false;
        }
        
        bool isIncreasing = true;        
        for(int i=1;i<A.Length;i++){
            if(isIncreasing){
                if(A[i-1]>A[i]){
                    isIncreasing=false;
                }
            }
            else{
                if(A[i-1]<=A[i]){
                    return false;
                }
            }
        }
        
        //check if we found decreasing curve or not
        return isIncreasing==false;
    }
}

 


Time Complexity: O(n)

Space Complexity: O(1)