LeetCode:合并区间

题目:56. 合并区间 - 力扣(Leetcode)

讲这道题之前,先介绍一下sort函数的骚操作。

sort函数可以用于二维数组的排序!!! 

解释:

这里sort函数也是从小到大进行排序,只不过它的排序对象是对每对序列的第一个数进行排序的

LeetCode:合并区间_第1张图片 结果:

LeetCode:合并区间_第2张图片

 知道sort这种用法后,那么解决这道题就会变得非常容易!!!

LeetCode:合并区间_第3张图片

LeetCode:合并区间_第4张图片

分析:要进行区间的合并,必须满足以下两个条件:

(我们令可以合并的两个区间分别为x区间和y区间,x.0:x区间的起点,x.1:x区间的尾点)

所具备的条件为:1:    x.1\geqslant y.0      2:   x.1<y.1 

代码:

class Solution {
public:
    vector> merge(vector>& intervals) {
        vector>ans;
        sort(intervals. begin(),intervals. end());
/*使区间由起点进行排序,这样以来,相邻的两个区间就具有可合并的可能*/
        int j=0;
        ans.push_back(intervals[0]);
        for(int i=1;i=intervals[i][0]){
                if(ans[j][1]

你可能感兴趣的:(LeetCode,leetcode,算法,c++)