演算法(18) 區間值 合併 C 例項原始碼

2021-10-02 13:05:52 字數 628 閱讀 2321

在時間區間中插入乙個新的時間區間(如果有重疊的話就合併區間)。  這些時間區間初始是根據它們的開始時間排序的。

以陣列為例:給定時間區間[1,3],[6,9],在這兩個時間區間中插入時間區間[2,5],並將它與原有的時間區間合併,變成[1,5],[6,9].

直接上**

//區間結構 兩個值

struct interval

}// start,end大小排序

//如果start等 按end 排序

//如果start不等 按start小排序

bool cmp(interval a,interval b)

//得到原始陣列

intervals.push_back(newinterval);

//原始陣列排序

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

//合併

int pre = 0;//前乙個

while(pre<=n)

cur++;

}res.push_back(intervals[pre]);

pre = cur;

}return res;

}

7620 區間合併

7620 區間合併 總時間限制 1000ms 記憶體限制 65536kb 描述 給定 n 個閉區間 ai bi 其中i 1,2,n。任意兩個相鄰或相交的閉區間可以合併為乙個閉區間。例如,1 2 和 2 3 可以合併為 1 3 1 3 和 2 4 可以合併為 1 4 但是 1 2 和 3 4 不可以合...

7620 區間合併

總時間限制 1000ms 記憶體限制 65536kb 描述 給定 n 個閉區間 ai bi 其中i 1,2,n。任意兩個相鄰或相交的閉區間可以合併為乙個閉區間。例如,1 2 和 2 3 可以合併為 1 3 1 3 和 2 4 可以合併為 1 4 但是 1 2 和 3 4 不可以合併。我們的任務是判斷...

7620 區間合併

總時間限制 1000ms 記憶體限制 65536kb 描述給定 n 個閉區間 ai bi 其中i 1,2,n。任意兩個相鄰或相交的閉區間可以合併為乙個閉區間。例如,1 2 和 2 3 可以合併為 1 3 1 3 和 2 4 可以合併為 1 4 但是 1 2 和 3 4 不可以合併。我們的任務是判斷這...