1.可以暴力 拿每個區間和別的區間去比較 如果能合併的標記一下呀 下個區間就不用去比較了 複雜度n2
2.先按照區間的起始位置排序,把第乙個元素壓入結果集 迴圈陣列 比較第i個區間和結果集的最後乙個元素末位置大小關係,如果大於說明沒交集 直接壓入 小於等於 則合併區間
public function run()
{
$arr = [
[1,3],
[9,12],
[2,6],
[8,10],
[15,18],
[11,15],
];usort($arr,array($this,'cmp'));
$cur = 0;
$res =;
array_push($res,$arr[$cur]);
for($i=1;$iprivate function cmp($a,$b){
return $a[0]>$b[0];
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 可被視為重疊區間。題意還是好理...