Skip to main content
Back to problems
#665
Medium Algorithms

Non decreasing array

Array
25.4% acceptance
Feb 20, 2026
5852
788
Given an array nums with n integers, check if it could become non-decreasing by modifying at most one element.

Solution

Rust
Time O(n)
Space O(1)
LeetCode
solution.rs
impl Solution {
  pub fn check_possibility(mut nums: Vec<i32>) -> bool {
    let mut count = 0;
    for i in 1..nums.len() {
      if nums[i] < nums[i - 1] {
        count += 1;
        if count > 1 { return false; }
        if i >= 2 && nums[i] < nums[i - 2] {
          nums[i] = nums[i - 1];
        } else {
          nums[i - 1] = nums[i];
        }
      }
    }
    true
  }
}