LeetCode in Kotlin

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:

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:

Solution

class Solution {
    fun validMountainArray(arr: IntArray): Boolean {
        var i = 0
        var flag1 = false
        var flag2 = false
        while (i < arr.size - 1 && arr[i] < arr[i + 1]) {
            flag1 = true
            i++
        }
        while (i < arr.size - 1 && arr[i] > arr[i + 1]) {
            flag2 = true
            i++
        }
        if (i < arr.size - 1) {
            return false
        }
        return !(!flag1 || !flag2)
    }
}