12/18
你管这叫简单?有cf div2A题的难度
class Solution {
public boolean checkPossibility(int[] nums) {
boolean flag=false;
if(nums.length<=2){
return true;
}
if(nums[0]>nums[1]){
flag=true;
if(nums[1]>nums[2]){
if(nums[0]>nums[2]){
return false;
}
nums[1]=nums[2];
}
}
for(int i=1;i<nums.length-1;i++){
if(nums[i]>nums[i+1]) {
if(flag==true){
return false;
}
flag=true;
if(nums[i]>nums[i-1]){
if(nums[i-1]>nums[i+1]){
nums[i+1]=nums[i];
}else{
nums[i]=nums[i+1];
}
}else if(nums[i+1]<nums[i+2]){
if(nums[i]<=nums[i+2]){
nums[i+1]=nums[i];
}else{
nums[i]=nums[i+1];
}
}
i=Math.max(-1,i-3);
}
}
return true;
}
}