力扣 665非遞減數列

2021-10-09 16:07:03 字數 493 閱讀 9609

給你乙個長度為 n 的整數陣列,請你判斷在 最多 改變 1 個元素的情況下,該陣列能否變成乙個非遞減數列。我們是這樣定義乙個非遞減數列的: 對於陣列中所有的 i (0 <= i <= n-2),總滿足 nums[i] <= nums[i + 1]。

輸入:nums = [4,2,3]

輸出:true

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

輸入:nums = [4,2,1]

輸出:false

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

參考: 鏈結

public

boolean

checkpossibility

(int

nums)

}return

true

;}

力扣 665 非遞減數列 思維 貪心

思路 雖然是簡單題,不過還是挺考察思維能力的。不妨假設有a i ai 1a i a ai ai 1 那麼此時我們必須要修改元素使得它滿足題意,有幾種修改方式?兩種。1.1.1.當a i 1 a i 1a a ai 1 a i 1 時,我們可以把a ia i ai 變成ai 1a ai 1 2.2.2...

665 非遞減數列

思路 遍歷整個陣列,如果遇到nums i nums i 1 的情況,則要麼修改nums i 要麼修改nums i 1 若修改一次就能成功,則去掉nums i 或者num i 1 剩下的陣列必然是非遞減的。class solution def checkpossibility self,nums ty...

665 非遞減數列

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