题目来源:
leetcode题目,网址:1909. 删除一个元素使数组严格递增 - 力扣(LeetCode)
解题思路:
遍历数组,若出现某个元素小于等于其前面的元素时,若其也小于等于前面第二个元素,删除该元素,否则删除前一个元素。最后判断删除元素个数是否小于等于 1 即可。
解题代码:
class Solution {public boolean canBeIncreasing(int[] nums) {int count=0;int pre=nums[0];for(int i=1;i<nums.length;i++){if(nums[i]<=pre){count++;if(i>=2 && nums[i]<=nums[i-2]){pre=nums[i-1];continue;}};pre=nums[i];}return count<=1;}
}
总结:
官方题解首先寻找相邻非递增下标对。若不存在,肯定符合要求,返回 true;若存在,接着判断删除下标对任一下表是否能使数组严格递增,若能,返回true,否则返回false。