LeetCode Entry
896. Monotonic Array
Is array monotonic
896. Monotonic Array easy
blog post
substack

Join me on Telegram
https://t.me/leetcode_daily_unstoppable/354
Problem TLDR
Is array monotonic
Intuition
Let’s compute the diffs, then array is monotonic if all the diffs have the same sign.
Approach
Let’s use Kotlin’s API:
- asSequence - to avoid creating a collection
- map
- filter
- windowed - scans array by
xsized sliding window
Complexity
-
Time complexity: \(O(n)\)
-
Space complexity: \(O(1)\)
Code
fun isMonotonic(nums: IntArray) =
nums.asSequence().windowed(2)
.map { it[0] - it[1] }
.filter { it != 0 }
.windowed(2)
.all { it[0] > 0 == it[1] > 0 }