leetcode 56 合併區間

2021-10-05 16:52:50 字數 1025 閱讀 8172

給出乙個區間的集合,請合併所有重疊的區間。

輸入: [[1,3],[2,6],[8,10],[15,18]]

輸出: [[1,6],[8,10],[15,18]]

解釋: 區間 [1,3] 和 [2,6] 重疊, 將它們合併為 [1,6].

輸入: [[1,4],[4,5]]

輸出: [[1,5]]

解釋: 區間 [1,4] 和 [4,5] 可被視為重疊區間。

//首先對二維陣列按照每個陣列的第乙個大小進行排序,按照每個一位陣列的第乙個數從小到大排序

arrays.sort(intervals, new comparator()

});arraylist>list=new arraylist<>();

for(int i=0;ilist_copy=new arraylist<>();

//每個list_copy新增兩個元素

//第乙個直接就是intervals[i][0];

//關鍵是判斷第二個元素

list_copy.add(intervals[i][0]);

//temp用於儲存當前可以合併區間的最大的第二個數

int temps=intervals[i][1];

//如果最大的第二個數一直大於i位置後乙個一位陣列的第乙個元素

//i++

while (i < intervals.length - 1 && temps >= intervals[i + 1][0])

list_copy.add(temps);

list.add(new arraylist<>(list_copy));

}intresult=new int[list.size()][2];

for(int i=0;i

return result;}}

Leetcode 56 合併區間

對所有區間按起點位置進行排序 遍歷到k點後的 l,r 已知的包含k點的最大區間 遍歷到k 1點,若該起點屬於 l,r 那麼可能擴充套件這個區間的終點,r max r,k 1點的end definition for an interval.struct interval interval int s,...

LeetCode 56 合併區間

給出乙個區間的集合,請合併所有重疊的區間。示例 1 輸入 1,3 2,6 8,10 15,18 輸出 1,6 8,10 15,18 解釋 區間 1,3 和 2,6 重疊,將它們合併為 1,6 示例 2 輸入 1,4 4,5 輸出 1,5 解釋 區間 1,4 和 4,5 可被視為重疊區間。解題思路 1...

LeetCode 56 合併區間

給出乙個區間的集合,請合併所有重疊的區間。示例 1 輸入 1,3 2,6 8,10 15,18 輸出 1,6 8,10 15,18 解釋 區間 1,3 和 2,6 重疊,將它們合併為 1,6 示例 2 輸入 1,4 4,5 輸出 1,5 解釋 區間 1,4 和 4,5 可被視為重疊區間。題意還是好理...