LeetCode 665. Non-decreasing Array

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class Solution {
public:
bool checkPossibility(vector<int>& nums) {
int n = nums.size(), cnt = 1;
for (int i = 0; i <= n - 2; ++i) {
if (nums[i] > nums[i + 1]) {
if (cnt-- == 0) return false;
if (i == 0) nums[i] = INT_MIN;
// else if (nums[i - 1] <= nums[i + 1]) nums[i] = nums[i - 1];
// else nums[i + 1] = nums[i];
else if (nums[i - 1] > nums[i + 1]) nums[i + 1] = nums[i];
}
}
return true;
}
};