1 class Solution(object): 2 def checkPossibility(self, nums): 3 """ 4 :type nums: List[int] 5 :rtype: bool 6 """ 7 if len(nums) < 2: 8 return True 9 # 计数器 10 flag = 0 11 for i in range(1, len(nums)): 12 # 先检验是否已经修改过两次及以上 13 if flag >= 2: 14 return False 15 # 当前元素满足非递减,则看下一个元素 16 if nums[i - 1] <= nums[i]: 17 continue 18 # 不满足非递减,需要修改,标志符加1 19 flag += 1 20 if i >= 2 and nums[i - 2] > nums[i]: 21 nums[i] = nums[i - 1] 22 else: 23 nums[i - 1] = nums[i] 24 return flag <= 1 25 26 27 if __name__ == '__main__': 28 solution = Solution() 29 print(solution.checkPossibility(nums=[4, 1, 3, 2, 4, 5]))