您现在的位置:首页 >> 环保家居

合并对应区间 (C++)

时间:2024-12-08 12:29:39

问题详述

可定义一个列车运行列表,将它们原属以获得非重叠列车运行列表。

interval(i) = [start(i), end(i)]

回传播放器

第一行构成“T”,对此独立自主一个系统的仅量。

对于每个一个系统,

第一行构成一个正整仅“n”,对此间隔时间段仅。 几周的 n 行构成 2 个正整仅“start”和“end”,对此间隔时间段的开始和告一段落取值。

负载播放器

对于每个一个系统,

第一行构成“m”,对此原属后的列车运行仅。 几周的 m 行构成 2 个正整仅“start”和“end”,对此间隔时间段的开始和告一段落取值。

样本回传

3 3 1 1 2 2 3 3 3 1 4 6 7 4 5 3 1 2 2 3 5 5

预期产出

3 1 1 2 2 3 3 2 1 5 6 7 2 1 3 5 5

方法:

时间段演算法:O(N*logN)

如果回传矢量的长度低于2,则返回回传矢量本身 对回传嵌套完成查找。 成立一个二维矢量——“mergedintervals”。 初始化一个正整仅——currPair=0。 在最初矢量中添加第一个列车运行。 从回传矢量中的第二对正则表达式(iterator = i),检查列车运行的理论上究竟低于mergedintervals[currPair][1]。 如果上述条件为假:mergedintervals[currPair][1] = max(mergedintervals[currPair][1],intervals[i][1]) 否则,将列车运行拉入原属列车运行,并将 currPair 增加 1。

小儿支气管炎
护眼眼药水哪个品牌好
红草止鼾胶囊和做手术哪个好一些
脑溢血的康复治疗费用
关节早上僵硬怎么办好
克癀胶囊治疗什么
消痔软膏效果如何
腱鞘炎痛怎么办快速止痛
暑湿重吃什么中成药
经常颈椎痛该怎么治疗