problem describe:
给定一个长度为 n 的整数数组,你的任务是判断在最多改变 1 个元素的情况下,该数组能否变成一个非递减数列。
我们是这样定义一个非递减数列的: 对于数组中所有的 i (1 <= i < n),满足 array[i] <= array[i + 1]。
解法:如果所有的A[i-1]<=A[i],那么肯定是非递减的数列,如果A[i]
class Solution {
public:
bool checkPossibility(vector<int>& nums) {
int count=0;
int len =nums.size();
for(int i=1;i<len&&count<=1;i++)
{
if(nums[i]<nums[i-1])
{
count++;
if(i-2<0||nums[i-2]<=nums[i]) nums[i-1]=nums[i];
else
nums[i]=nums[i-1];
}
}
return (count<=1);
}
};