如果nums[i]>nums[i+1],可以增大nums[i+1],也可以减小nums[i],依据是比较nums[i-1]与nums[i+1]的大小。
bool checkPossibility(vector<int>& nums) {
if(nums.size()<3)
return true;
int cnt = 0;
if(nums[0] > nums[1]){
nums[0] = nums[1];
++cnt;
}
for(int i=1;i<nums.size()-1;++i){
int right = nums[i+1];
if(nums[i]>right){
++cnt;
if(cnt>1)
return false;
int left = nums[i-1];
if(left>right)
nums[i+1] = nums[i];
else
nums[i] = left;
}
}
return true;
}