leetcode435無重疊空間

2021-09-25 15:33:52 字數 773 閱讀 8797

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

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

區間 [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] 來使剩下的區間沒有重疊。

思路:為了使刪除的數量最下,達到不重疊,那麼盡量去刪除區間範圍大的。

根據區間的後乙個值進行排序。那麼區間後乙個值大的就會被排序到後面。

但是,他們這個陣列裡的數,就算進行排序後,區間也應該是盡量隔離,並且遞增排序的。

for迴圈判斷即可。當第乙個值大於後乙個值的第乙個值,那麼刪除個數加1.否則,遞增下乙個即可。

這裡貪心的是:以區間後乙個值進行排序,貪後乙個值過大,導致》它的後乙個區間的第乙個值。

class solution 

});int nums = intervals[0][1];

int numbers = 0;

for(int i = 1;i < intervals.length;i++)

nums = intervals[i][1];

}return numbers;

}}

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 解釋 你不需要...

LeetCode 435 無重疊區間

這道題目是在給定的集合中找到需要去掉的區間最小數量,使得剩餘區間互相不重疊,題目如下 這道題目似乎無從下手,因為找重疊的區域確實是比較麻煩的。我們可以嘗試用貪心演算法來解答這個問題,我們假設有集合 int erva ls 1,2 3 5 2,3 3 6 7,8 6 7 intervals 1,2 3...

LeetCode435無重疊區間

題目 給定乙個區間的集合,找到需要移除區間的最小數量,使剩餘區間互不重疊。注意 可以認為區間的終點總是大於它的起點。區間 1,2 和 2,3 的邊界相互 接觸 但沒有相互重疊。思路 先計算最多能組成的 不重複區間個數,然後用區間總個數減去最多能組成的不重複區間的個數。在每次選擇中,選擇區間的結尾越小...