[leetcode] 665. 非递减数列 python解法

给你一个长度为 n 的整数数组,请你判断在 最多 改变 1 个元素的情况下,该数组能否变成一个非递减数列。

我们是这样定义一个非递减数列的: 对于数组中所有的 i (0 <= i <= n-2),总满足 nums[i] <= nums[i + 1]。

class Solution:
    def checkPossibility(self, nums: List[int]) -> bool:
        n = 0
        for i in range(1, len(nums)):
            if nums[i] < nums[i-1]:
                n += 1
                if i == 1 or nums[i] >= nums[i - 2]:
                    nums[i - 1] = nums[i]
                else:
                    nums[i] = nums[i - 1]
        return n <= 1

你可能感兴趣的:(leetcode)