class Solution {
public:
bool checkPossibility(vector<int>& nums) {
bool changed = false;
for(int i = 0; i < nums.size() - 1; i++){
if(nums[i] <= nums[i+1]){
continue;
}
if(changed){
return false;
}
if(i == 0 || nums[i+1] >= nums[i-1]){
nums[i] = nums[i+1];
}
else{
nums[i+1] = nums[i];
}
changed = true;
}
return true;
}
};