非遞減數列

2022-04-09 18:26:01 字數 838 閱讀 5132

非遞減數列

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

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

示例 1:

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

輸出: true

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

示例 2:

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

輸出: false

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

題解非遞減數列,意思就是遞增數列,但是包含數字相等的情況,如果出現遞減的情況,可以把前乙個數減小,或者後面乙個數增大,變成遞增的數列,我考慮了兩種情況,如果前面乙個數比後面乙個數大的話,我把前面乙個數賦值給後面乙個數或者把後面乙個數賦值給前面乙個數,然後遍歷整個陣列,看是否還有遞減的情況,如果有的話,就說明不能改變乙個數把陣列變成非遞增的。

**

class

solution

for(int i=0;i1;i++)

} for(int i=0;i1;i++)

if(num2[i]>num2[i+1

])

}if(count>0&&count1>0

)

return

true

; }}

結果

665 非遞減數列

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

LeetCode 非遞減數列

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

665 非遞減數列

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