https://leetcode.com/problems/monotonic-array Easy

Условие

Массив называется монотонным, если он строго возрастает или строго убывает. Дана целочисленная последовательность nums. Нужно вернуть true, если массив монотонный, иначе false.

Примеры

Input: nums = [1, 2, 2, 3] Output: true

Input: nums = [6, 5, 4, 4] Output: true

Input: nums = [1, 3, 2] Output: false

Решение

fun isMonotonic(nums: IntArray): Boolean {
    var increasing = true
    var decreasing = true

    for (i in 1 until nums.size) {
        if (nums[i] > nums[i - 1]) {
            decreasing = false
        } else if (nums[i] < nums[i - 1]) {
            increasing = false
        }
    }

    return increasing || decreasing
}

Временная сложность

O(N), где N — длина массива nums.

Пространственная сложность

O(1), так как не используется дополнительная память.