力扣-10.14-665

在这里插入图片描述
在这里插入图片描述

class Solution {
    
    
    public boolean checkPossibility(int[] nums) {
    
    
        int mark=0;
		for(int i=1;i<nums.length && mark<2;i++) {
    
    
			if(nums[i]>=nums[i-1]) {
    
    
				continue;
			}
			mark++;
			if(i-2>=0 && nums[i-2]>nums[i]) {
    
    
				nums[i]=nums[i-1];
			}else {
    
    
				nums[i-1]=nums[i]; //这行还适用于第一次循环的时候
			}
		}
		return mark<=1;
    }
}

需要考虑在出现nums[i+1]<nums[i]的情况时,是改变nums[i]还是nums[i+1],并且需要考虑第一次循环时的情况!!!

猜你喜欢

转载自blog.csdn.net/Desperate_gh/article/details/109067500