665. 非递减数列

 

 

 

 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]))
原文地址:https://www.cnblogs.com/panweiwei/p/12799931.html