力扣 leetcode 435. 無重疊區間 貪心
Topic:
給定一個區間的集合,找到需要移除區間的最小數量,使剩餘區間互不重疊。
注意:
可以認為區間的終點總是大於它的起點。
區間 [1,2] 和 [2,3] 的邊界相互“接觸”,但沒有相互重疊。
Example 1:
輸入: [ [1,2], [2,3], [3,4], [1,3] ]
輸出: 1
解釋: 移除 [1,3] 後,剩下的區間沒有重疊。
Example 2:
輸入: [ [1,2], [1,2], [1,2] ]
輸出: 2
解釋: 你需要移除兩個 [1,2] 來使剩下的區間沒有重疊。
Example 3:
輸入: [ [1,2], [2,3] ]
輸出: 0
解釋: 你不需要移除任何區間,因為它們已經是無重疊的了。
思路:
首先按照區間右側端點值進行排序
(按照左側區間排序思路類似,但需要增加許多判斷)
之後從右端點第二小的區間開始
如果右端點第二小的區間左側端點仍然比最小右端點區間的左側端點小
則需要刪除此區間,需要刪除的區間數res += 1
若發現左側端點比最小右區間的右端點大或相等
則將新的區間右端點設定為新的整體右區間端點
依次類推,直至遍歷完所有
此題貪心演算法思路與leetcode 452. 用最少數量的箭引爆氣球 及其相似,可供參考
Code:
class Solution:
def eraseOverlapIntervals(self, intervals: List[List[int]]) -> int:
intervals.sort(key=lambda x: x[1])
res = 0
if len(intervals) == 0:
return 0
i = 1
a = 0
while i < len(intervals):
if intervals[a][1] > intervals[i][0]:
res += 1
i += 1
else:
a = i
i += 1
return res
相關文章
- 力扣-435.無重疊區間力扣
- 435. 無重疊區間
- 貪心演算法之無重疊區間演算法
- LeetCode 435 無重疊區間LeetCode
- [貪心]最大線段重疊
- 【LeetCode貪心#09】用最少數量的箭引爆氣球,(涉及區間重疊情況判斷)LeetCode
- 貪心演算法-找不重疊的區間段演算法
- 【力扣】最大子陣列和(貪心)力扣陣列
- 程式碼隨想錄演算法訓練營day36 | leetcode 435. 無重疊區間、763. 劃分字母區間、56. 合併區間演算法LeetCode
- leetcode 掃描線專題 06-leetcode.836 rectangle-overlap 力扣.836 矩形重疊LeetCode力扣
- 區間問題的貪心方法
- POJ 2376 Cleaning Shifts(區間貪心之區間覆蓋)
- 力扣(LeetCode)543力扣LeetCode
- 力扣(LeetCode)934力扣LeetCode
- 力扣(LeetCode)103力扣LeetCode
- 力扣(LeetCode)513力扣LeetCode
- 力扣(LeetCode)389力扣LeetCode
- 力扣(LeetCode)796力扣LeetCode
- 力扣(LeetCode)863力扣LeetCode
- 力扣(LeetCode)310力扣LeetCode
- 力扣(LeetCode)130力扣LeetCode
- 力扣(LeetCode)965力扣LeetCode
- Leetcode 貪心:差值調整LeetCode
- 貪心演算法篇——區間問題演算法
- 力扣:763.劃分字母區間力扣
- 【Leetcode每日一題】316. 去除重複字母(棧,貪心)LeetCode每日一題
- 校驗區間是否存在重疊(Python)Python
- LeetCode 836[矩形重疊]LeetCode
- 程式碼隨想錄演算法訓練營第第36天 | 452. 用最少數量的箭引爆氣球、435. 無重疊區間、763.劃分字母區間演算法
- leetcode力扣 213. 打家劫舍 IILeetCode力扣
- leetcode1546題解【字首和+貪心】LeetCode
- 力扣(LeetCode) -143 重排連結串列力扣LeetCode
- 力扣之存在重複元素力扣
- LeetCode(力扣) 1648. 銷售價值減少的顏色球,完美結合二分演算法和貪心演算法LeetCode力扣演算法
- LeetCode:動態規劃+貪心題目整理LeetCode動態規劃
- 【LeetCode】貪心演算法–分發糖果(135)LeetCode演算法
- leetcode1552題解【二分+貪心】LeetCode
- leetcode(力扣) 2866. 美麗塔 IILeetCode力扣