665. 非递减数列
生活随笔
收集整理的這篇文章主要介紹了
665. 非递减数列
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
給定一個長度為 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]。
Leecode的題目,大多數是基礎,雖然比賽可能不會考到這種簡單題,但是完全可以在這個基礎上變形。這個題目只允許改變一個數字,那么如果出現了num[i]<num[i-1],其實我們有兩種選擇,改變num[i]或者改變num[i-1],這兩種情況。我們可以遍歷這兩種情況,如果都不可行就是false,否則就是true。
代碼如下:
努力加油a啊,(o)/~
總結
以上是生活随笔為你收集整理的665. 非递减数列的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 1054. 距离相等的条形码
- 下一篇: 1191. K 次串联后最大子数组之和(