给你一个长度为 n 的整数数组,请你判断在 最多 改变 1 个元素的情况下,该数组能否变成一个非递减数列。
我们是这样定义一个非递减数列的: 对于数组中所有的 i (0 <= i <= n-2),总满足 nums[i] <= nums[i + 1]。
说明:
1 <= n <= 10 ^ 410 ^ 5 <= nums[i] <= 10 ^ 5这题意思主要是:“给你一个数组,改变最多其中的一个元素能否让其成为非递减的数组 非递减的意思就是相等或者递增”
我们当遇到 i-1>i的时候 就是出现了乱序,这个时候一般考虑缩小i-1,即令i-1=i(前提是i>i-2)。这样能最大限度的保证不影响i后面的元素。如果i=i-1,扩大了i,就有可能让i>i+1了。
当然有一种情况要例外,就是i-1>i,且i-2>i。这个时候就必须要i=i-1,只有这样才能保证i>i-2。