All Downloads are FREE. Search and download functionalities are using the official Maven repository.

g0901_1000.s0941_valid_mountain_array.Solution Maven / Gradle / Ivy

There is a newer version: 1.38
Show newest version
package g0901_1000.s0941_valid_mountain_array;

// #Easy #Array #2022_03_30_Time_1_ms_(100.00%)_Space_43_MB_(93.41%)

/**
 * 941 - Valid Mountain Array\.
 *
 * Easy
 *
 * Given an array of integers `arr`, return _`true` if and only if it is a valid mountain array_.
 *
 * Recall that arr is a mountain array if and only if:
 *
 * *   `arr.length >= 3`
 * *   There exists some `i` with `0 < i < arr.length - 1` such that:
 *     *   `arr[0] < arr[1] < ... < arr[i - 1] < arr[i]`
 *     *   `arr[i] > arr[i + 1] > ... > arr[arr.length - 1]`
 *
 * ![](https://assets.leetcode.com/uploads/2019/10/20/hint_valid_mountain_array.png)
 *
 * **Example 1:**
 *
 * **Input:** arr = [2,1]
 *
 * **Output:** false
 *
 * **Example 2:**
 *
 * **Input:** arr = [3,5,5]
 *
 * **Output:** false
 *
 * **Example 3:**
 *
 * **Input:** arr = [0,3,2,1]
 *
 * **Output:** true
 *
 * **Constraints:**
 *
 * *   1 <= arr.length <= 104
 * *   0 <= arr[i] <= 104
**/
public class Solution {
    public boolean validMountainArray(int[] arr) {
        int i = 0;
        for (; i < arr.length - 1; i++) {
            if (arr[i] == arr[i + 1]) {
                return false;
            } else if (arr[i] > arr[i + 1]) {
                break;
            }
        }
        if (i == 0 || i >= arr.length - 1) {
            return false;
        }
        for (; i < arr.length - 1; i++) {
            if (arr[i] <= arr[i + 1]) {
                return false;
            }
        }
        return i == arr.length - 1;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy