Leetcode做题记录-665. 非递减数列
题目:
给你一个长度为 n 的整数数组,请你判断在 最多 改变 1 个元素的情况下,该数组能否变成一个非递减数列。
我们是这样定义一个非递减数列的: 对于数组中所有的 i (0 <= i <= n-2),总满足 nums[i] <= nums[i + 1]。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/non-decreasing-array
计数,当nums[i] > nums[i+1]的时候,加一,如果此变量的值大于1,则返回False。
另外,如果不满足以下条件,表示没办法通过改变一个元素的情况下使得数组变成一个非递减数列。

注:图中的“3行及以上”改成“3行及以下”
class Solution:def checkPossibility(self, nums: List[int]) -> bool:counter = 0for i in range(1, len(nums)):if nums[i] < nums[i-1]:counter += 1if i-2 >= 0 and i+1 <= len(nums) - 1 and \nums[i] < nums[i - 2] and nums[i + 1] < nums[ i - 1] :return Falseif counter > 1:return Falsereturn True
参考:https://leetcode-cn.com/problems/non-decreasing-array/solution/python3xiang-jie-bu-gai-bian-shu-zu-yuan-su-zhi-ch/
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
