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)

相关推荐
CoovallyAIHub6 分钟前
MSD-DETR:面向机车弹簧检测的可变形注意力Detection Transformer
算法·架构
CoovallyAIHub11 分钟前
不改权重、不用训练!BEM用背景记忆抑制固定摄像头误检,YOLO/RT-DETR全系有效
算法·架构·github
Struggle_975515 分钟前
算法知识-从递归入手三维动态规划
算法·动态规划
yuan1999721 分钟前
使用模糊逻辑算法进行路径规划(MATLAB实现)
开发语言·算法·matlab
不才小强24 分钟前
线性表详解:顺序与链式存储
数据结构·算法
CoovallyAIHub25 分钟前
上交+阿里 | Interactive ASR:Agent框架做语音识别交互纠错,1轮交互语义错误率降57%
算法·架构·github
Aaron158835 分钟前
8通道测向系统演示科研套件
人工智能·算法·fpga开发·硬件工程·信息与通信·信号处理·基带工程
计算机安禾40 分钟前
【数据结构与算法】第42篇:并查集(Disjoint Set Union)
c语言·数据结构·c++·算法·链表·排序算法·深度优先
吃着火锅x唱着歌42 分钟前
LeetCode 150.逆波兰表达式求值
linux·算法·leetcode
YuanDaima20481 小时前
二分查找基础原理与题目说明
开发语言·数据结构·人工智能·笔记·python·算法