Given an array with n integers, your task is to check if it could become non-decreasing by modifying at most 1 element.
We define an array is non-decreasing if array[i] <= array[i + 1] holds for every i (1 <= i < n).
Example 1:
Input: [4,2,3]
Output: True
Explanation: You could modify the first 4 to 1 to get a non-decreasing array.
Example 2:
Input: [4,2,1] Output: False Explanation: You can't get a non-decreasing array by modify at most one element.
Note: The n belongs to [1, 10,000].
给定一个包含n个整数的数组,您的任务是通过修改最多1个元素来检查它是否可以变为不减少。 如果array [i] <= array [i + 1]对于每个i(1 <= i <n)成立,我们定义一个数组是非递减的。
class Solution(object):def checkPossibility(self, nums):""":type nums: List[int]:rtype: bool"""times = 0for i in range(1, len(nums)):if nums[i] < nums[i - 1]:times += 1if times == 2:return Falseif (i != 1 and i != len(nums) - 1):if (nums[i - 1] > nums[i + 1] and nums[i] < nums[i - 2]):return Falsereturn True