代码随想录:合并区间

class Solution {
public:
    static bool cmp(vector<int> a, vector<int> b) { return a[0] < b[0]; }
    vector<vector<int>> merge(vector<vector<int>>& intervals) {
        sort(intervals.begin(), intervals.end(), cmp);
        vector<vector<int>> res;
        int left = intervals[0][0];
        int right = intervals[0][1];
        for (int i = 1; i < intervals.size(); i++) {
            if (intervals[i][0] <= right) {
                right = max(intervals[i][1], right);
            } else {
                vector<int> temp(2, 0);
                temp[0] = left;
                temp[1] = right;
                res.push_back(temp);
                left = intervals[i][0];
                right = intervals[i][1];
            }
        }
        vector<int> temp(2, 0);
        temp[0] = left;
        temp[1] = right;
        res.push_back(temp);
        return res;
    }
};
posted @   huigugu  阅读(5)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
点击右上角即可分享
微信分享提示