水题
题意:
合并n个整数区间,有可能出现包含.
思路:
有无包含套路都一样.
先按区间左端点排序,然后一边扫描,一边维护一个区间数组作为答案.
第一个区间直接push_back到答案里.对后面每个区间,分三种情况:
1.如果左端点比区间数组最后一个区间右端点大,那么把它push_back到答案
2.不满足条件1,并且右端点比最后一个区间右端点大,那么把最后一个区间右端点扩展成这个右端点
3.不满足条件1也不满足条件2,那就是包含的情况,直接无视.
复杂度方面,排序要O(nlong),扫描是O(n),因此总的是O(nlogn).
总结:
按左端点排序,一边扫描一边合并.