0
点赞
收藏
分享

微信扫一扫

leetcdoe 56 合并区间

_LEON_ 2022-05-06 阅读 56
class Solution {
public:
    vector<vector<int>> merge(vector<vector<int>>& intervals) {
        //这题跟那个射气球的很像,就是重复区间的处理
        //定义结果数组
        vector<vector<int>>result;
        if(intervals.size()==0)return result;
        //按照左区间排序
        sort(intervals.begin(),intervals.end(),[](vector<int>&a,vector<int>&b){return a[0]<b[0];});
        //先把第一个放入结果数组
        result.push_back(intervals[0]);
        for(int i=1;i<intervals.size();i++){
            if(result.back()[1]>=intervals[i][0]){
                //有重叠,更新
                result.back()[1]=max(result.back()[1],intervals[i][1]);

            }
            else{
                //说明没有重叠,没重叠,直接放入结果数组
                result.push_back(intervals[i]);
            }
        }
        return result;
    }
};
举报

相关推荐

0 条评论