LeetCode 665
说实话这题目我是真的没看懂
要求的是非递减数列,那不就可以乱来(
4 2 1只要修改成 4 5 1那不也是非递减数列
说非递减数列真是太迷惑人了…
代码
class Solution {
public boolean checkPossibility(int[] nums) {
int chance = 0;
for(int i = 1; i < nums.length ; i++){
if(nums [i-1] > nums[i]){
//如果这一位大于上一位的话(也就是说是递增
chance++;
//那么用掉一次递增机会
if(i - 2 >= 0 && nums[i-2] > nums[i])
//同时这里用了机会后其实已经修改过一次数值了, 我们就要使这一位等于上一位
{
nums[i] = nums[i-1];
}
}
}
return chance < 2;
}
}