#896
Easy Algorithms Monotonic array
Array
62.2% acceptance
Feb 22, 2026
3265
107
An array is monotonic if it is either monotone increasing or monotone decreasing.
An array nums is monotone increasing if for all i <= j, nums[i] <= nums[j]. An array nums is monotone decreasing if for all i <= j, nums[i] >= nums[j].
Given an integer array nums, return true if the given array is monotonic, or false otherwise.
Solution
Rust
Time O(1)
Space O(1)
/*
* An array is monotonic if it is either monotone increasing or monotone decreasing.
* An array nums is monotone increasing if for all i <= j, nums[i] <= nums[j]. An array nums is monotone decreasing if for all i <= j, nums[i] >= nums[j].
* Given an integer array nums, return true if the given array is monotonic, or false otherwise.
* Example 1:
* Input: nums = [1,2,2,3]
* Output: true
* Example 2:
* Input: nums = [6,5,4,4]
* Output: true
* Example 3:
* Input: nums = [1,3,2]
* Output: false
* Constraints:
* 1 <= nums.length <= 105
* -105 <= nums[i] <= 105
*/
impl Solution {
pub fn is_monotonic(nums: Vec<i32>) -> bool {
let inc = nums.windows(2).all(|w| w[0] <= w[1]);
let dec = nums.windows(2).all(|w| w[0] >= w[1]);
inc || dec
}
}