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