leetcode hot100刷题日记——8.合并区间

cpp 复制代码
class Solution {
public:
    vector<vector<int>> merge(vector<vector<int>>& intervals) {
        if(intervals.empty()){//复习empty函数啊,日记1有的
            return {};
        }
        // 按照区间的起始位置进行排序
        sort(intervals.begin(), intervals.end());
        vector<vector<int>> merged;
        merged.push_back(intervals[0]);
        for (int i = 1; i < intervals.size(); ++i) {
            vector<int>& last = merged.back();//back取最后一个数组
            if (intervals[i][0] <= last[1]) {
                // 如果当前区间的起始位置小于或等于上一个区间的结束位置,则合并它们
                last[1] = max(last[1], intervals[i][1]);
            } else {
                // 否则,添加一个新的区间
                merged.push_back(intervals[i]);
            }
        }
        return merged;
    }
};

时间复杂度:O(n log n)

复习!排序算法的时间复杂度!日记2里也有!

空间复杂度:O(N)

相关推荐
@老蝴5 小时前
C语言 — 通讯录模拟实现
c语言·开发语言·算法
L-ololois6 小时前
【AI】模型vs算法(以自动驾驶为例)
人工智能·算法·自动驾驶
安全系统学习7 小时前
网络安全之RCE简单分析
开发语言·python·算法·安全·web安全
TGB-Earnest9 小时前
【leetcode-合并两个有序链表】
javascript·leetcode·链表
GEEK零零七9 小时前
Leetcode 3299. 连续子序列的和
算法·leetcode·动态规划
飞飞是甜咖啡9 小时前
【机器学习】Teacher-Student框架
人工智能·算法·机器学习
蒟蒻小袁9 小时前
力扣面试150题--单词接龙
算法·leetcode·面试
ghie909010 小时前
LMD分解通过局部均值分解重构信号实现对信号的降噪
算法·均值算法·重构
零叹10 小时前
篇章十 数据结构——排序
java·数据结构·算法·排序算法
涛哥码咖11 小时前
前端十种排序算法解析
前端·算法·排序算法