[AcWing]区间合并
代码已经在 GITHUB 开源,👉点击直达👈。
一、算法步骤
- 按照区间的左值进行排序(以从小到大举例子)。
- 设置一个结果区间对象(最后该区间对象就是存入结果的元素),以第一个区间进行初始化。
- 判断该结果区间对象是否与下一个区间相交(结果区间对象的右值小于下一个区间的左值,即为不相交;反之为相交)。
- 相交就将下一个区间合并到结果区间对象。
- 不相交就代表当前结果区间对象再也不会与后面的任何区间有交集,故而可以作为一个独立区间保存到结果集合中去。
- 重复步骤 2 和 3,直到处理完所有区间。
- 扫尾:保存最后一个结果区间对象。
二、算法模板
1 |
|
三、算法练习题
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 SeaEpoch!
评论