func checkPossibility(nums []int) bool { n := len(nums) if n < 3 { return true } cnt := 0 for i := 1; i < n && cnt <= 1; i++ { if nums[i] < nums[i-1] { cnt++ // Greedy if i < 2 || nums[i-2] <= nums[i] { nums[i-1] = nums[i] } else { nums[i] = nums[i-1] } } } return cnt <= 1 }