LeetCode 無重疊區間(貪心策略)

2021-09-13 13:44:24 字數 1082 閱讀 6393

給定乙個區間的集合,找到需要移除區間的最小數量,使剩餘區間互不重疊。

注意:

可以認為區間的終點總是大於它的起點。

區間 [1,2] 和 [2,3] 的邊界相互「接觸」,但沒有相互重疊。

示例 1:

輸入: [ [1,2], [2,3], [3,4], [1,3] ]

輸出: 1

解釋: 移除 [1,3] 後,剩下的區間沒有重疊。

示例 2:

輸入: [ [1,2], [1,2], [1,2] ]

輸出: 2

解釋: 你需要移除兩個 [1,2] 來使剩下的區間沒有重疊。

示例 3:

輸入: [ [1,2], [2,3] ]

輸出: 0

解釋: 你不需要移除任何區間,因為它們已經是無重疊的了。

/**

* definition for an interval.

* struct interval

* interval(int s, int e) : start(s), end(e) {}

* };

*/class solution

else

}int eraseoverlapintervals(vector& intervals)

sort(intervals.begin(), intervals.end(), mycmpone);//按照end主,start輔進行公升序排序

int preend = intervals[0].end, result = 0;//第乙個區間保留

LeetCode 435 無重疊區間 貪心

給定多個區間,計算讓這些區間互不重疊所需要移除區間的最少個數。起止相連不算重疊。具體實現方法為,先把區間按照結尾的大小進行增序排序,每次選擇結尾最小且和前乙個選 擇的區間不重疊的區間。我們這裡使用 c 的 lambda,結合 std sort 函式進行自定義排序。在樣例中,排序後的陣列為 1,2 1...

貪心演算法 leetcode 435 無重疊區間

include include include include include include using namespace std 貪心演算法 可以認為是動態規劃的乙個特例,相比於動態規劃,使用貪心演算法需要滿足更多的條件,但是效率更高 貪心演算法的條件 每一步都做乙個區域性最優解的選擇,最終的...

leetcode 435 無重疊區間

給定乙個區間的集合,找到需要移除區間的最小數量,使剩餘區間互不重疊。輸入 1,2 2,3 3,4 1,3 輸出 1 解釋 移除 1,3 後,剩下的區間沒有重疊。輸入 1,2 1,2 1,2 輸出 2 解釋 你需要移除兩個 1,2 來使剩下的區間沒有重疊。輸入 1,2 2,3 輸出 0 解釋 你不需要...