leetcode 645 非遞減數列 python

2021-08-20 06:17:14 字數 1096 閱讀 8591

給定乙個長度為n的整數陣列,你的任務是判斷在最多改變1個元素的情況下,該陣列能否變成乙個非遞減數列。

我們是這樣定義乙個非遞減數列的: 對於陣列中所有的i(1 <= i < n),滿足array[i] <= array[i + 1]

示例 1:

輸入: [4,2,3]

輸出: true

解釋: 你可以通過把第乙個4變成1來使得它成為乙個非遞減數列。

示例 2:

輸入: [4,2,1]

輸出: false

解釋: 你不能在只改變乙個元素的情況下將其變為非遞減數列。

說明:n的範圍為 [1, 10,000]。

這是一道難度簡單的題目,做了一些leetcode簡單的題目,感覺沒有繞的感覺直線思維,有個大體思路,開始寫,根據測試樣例有問題改。,。

感覺就是這個套路,執行速度什麼的,就是靠自己**好習慣。

class solution:

def checkpossibility(self, nums):

""":type nums: list[int]

:rtype: bool

"""if len(nums)<=2:

return true

count = 0 if nums[0] <= nums[1] else 1 #判斷第乙個數是否小於1

for i in range(2,len(nums)):

if nums[i-1] > nums[i]:#如果前乙個數小於下乙個數 n+1

count += 1

if count > 1:#如果 n>1 說明已經有兩個非遞減隊

return false

if nums[i-2] > nums[i]: #如果前兩個數是否小於當前數避免[3424]這類情況情況

nums[i] = nums[i-1]

else:

nums[i-1] = nums[i-2]

return count <= 1 # [2,3,3,2,4]

LeetCode 非遞減數列

給定乙個長度為 n 的整數陣列,你的任務是判斷在最多改變 1 個元素的情況下,該陣列能否變成乙個非遞減數列。我們是這樣定義乙個非遞減數列的 對於陣列中所有的 i 1 i n 滿足 array i array i 1 示例 1 輸入 4,2,3 輸出 true 解釋 你可以通過把第乙個4變成1來使得它...

leetcode 非遞減數列

題目 給你乙個長度為 n 的整數陣列,請你判斷在 最多 改變 1 個元素的情況下,該陣列能否變成乙個非遞減數列。我們是這樣定義乙個非遞減數列的 對於陣列中所有的 i 0 i n 2 總滿足 nums i nums i 1 示例 1 輸入 nums 4,2,3 輸出 true 解釋 你可以通過把第乙個...

非遞減數列

非遞減數列 題目給你乙個長度為 n 的整數陣列,請你判斷在 最多 改變 1 個元素的情況下,該陣列能否變成乙個非遞減數列。我們是這樣定義乙個非遞減數列的 對於陣列中所有的 i 0 i n 2 總滿足 nums i nums i 1 示例 1 輸入 nums 4,2,3 輸出 true 解釋 你可以通...