給你乙個長度為 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
解釋: 你不能在只改變乙個元素的情況下將其變為非遞減數列。
之前簡單的考慮統計 data[i] < data[i-1]的情況,但是會出現 3 ,4, 2,3會判斷失敗的情況, 這個時候需要進一步比較data[i]和data[i+1]的情況
判斷標準是:
if data[i] < data[i-1]
cout++
if i== 1 or data[i] >= data[i-2]
data[i-1] = data[i]
else
data[i] =data[i-1]
class solution
int negtivecount = 0;
for (int i = 1; i < nums.size(); i++)
else
}if (negtivecount > 1)
}return true;
}};
letecode 程式設計學習(4)
題目 給定乙個整數陣列和乙個區間,計算有多少連續子陣列的和在區間範圍內 例如 陣列 3,0,5,2,2 區間為 1,3 則輸出的子陣列有 3 2,2 3,0 3,0,5,2,2 這5種,輸出為5。include include include include includestruct treeno...
letecode 程式設計學習(7)
題目奇偶鍊錶 給定乙個單鏈表,把所有的奇數節點和偶數節點分別排在一起。請注意,這裡的奇數節點和偶數節點指的是節點編號的奇偶性,而不是節點的值的奇偶性。請嘗試使用原地演算法完成。你的演算法的空間複雜度應為 o 1 時間複雜度應為 o nodes nodes 為節點總數。示例 1 輸入 1 2 3 4 ...
letecode 程式設計學習(12)
題目 在一條環路上有 n 個加油站,其中第 i 個加油站有汽油 gas i 公升。你有一輛油箱容量無限的的汽車,從第 i 個加油站開往第 i 1 個加油站需要消耗汽油 cost i 公升。你從其中的乙個加油站出發,開始時油箱為空。如果你可以繞環路行駛一周,則返回出發時加油站的編號,否則返回 1。說明...