合併兩個排序的間隔列表

2021-09-26 04:53:18 字數 926 閱讀 2005

合併兩個已排序的區間列表,並將其作為乙個新的有序區間列表返回。新的區間列表應該通過拼接兩個列表的區間並按公升序排序。

樣例1

輸入: [(1,2),(3,4)] and list2 = [(2,3),(5,6)]

輸出: [(1,4),(5,6)]

解釋:(1,2),(2,3),(3,4) --> (1,4)

(5,6) --> (5,6)

樣例2

輸入: [(1,2),(3,4)] 和 list2 = [(4,5),(6,7)]

輸出: [(1,2),(3,5),(6,7)]

解釋:(1,2) --> (1,2)

(3,4),(4,5) --> (3,5)

(6,7) --> (6,7)

同乙個列表中的區間一定不會重疊。

不同列表中的區間可能會重疊。

/**

* definition of interval:

* classs interval

* }*/bool mycmp(const interval& start, const interval& end)

class solution

for(int j = 0; j < list2.size(); j++)

sort(intervals.begin(), intervals.end(), mycmp);

vectorret;

int size = intervals.size();

for(int i = 0; i < size; i++)

else

else}}

return ret;

}};

合併兩個排序的列表

輸入兩個單調遞增的鍊錶,輸出兩個鍊錶合成後的鍊錶,當然我們需要合成後的鍊錶滿足單調不減規則。輸入 返回值 由於兩個鍊錶都是遞增的,所以我們可以在遍歷的同時,判斷每個鍊錶當前各自值的大小,取出較小的那個,作為新鍊錶的結點,否則取另乙個,直到乙個鍊錶為空,將剩下乙個鍊錶拼接至新鍊錶尾端 注意 建立鍊錶使...

17 合併兩個排序的列表

一般的寫法 public class solution else p p.next if list1 null if list2 null p.next null return head.next 但是,我這樣並不是乙個好答案,因為我每一次都進行了new的操作,浪費了大量的空間!進行簡化後,如下 p...

lintcode 839 合併兩個排序的間隔列表

合併兩個已排序的區間列表,並將其作為乙個新的有序區間列表返回。新的區間列表應該通過拼接兩個列表的區間並按公升序排序。樣例 樣例1輸入 1,2 3,4 and list2 2,3 5,6 輸出 1,4 5,6 解釋 1 2 2,3 3 4 1 4 5,6 5 6 樣例2 輸入 1 2 3,4 和 li...