1 题目:合并区间

官方难度 - 中等

以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi] 。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间 。

示例 1:

输入:intervals = [[1,3],[2,6],[8,10],[15,18]]
输出:[[1,6],[8,10],[15,18]]
解释:区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].

示例 2:

输入:intervals = [[1,4],[4,5]]
输出:[[1,5]]
解释:区间 [1,4] 和 [4,5] 可被视为重叠区间。

提示:

1 < = i n t e r v a l s . l e n g t h < = 1 0 4 1 <= intervals.length <= 10^4 1<=intervals.length<=104
i n t e r v a l s [ i ] . l e n g t h = = 2 intervals[i].length == 2 intervals[i].length==2
0 < = s t a r t i < = e n d i < = 1 0 4 0 <= start_i <= end_i <= 10^4 0<=starti<=endi<=104

2 solution

最直接的做法,先按照 start 排序,然后进行合并,步骤如下:

1 先按照 start 递增排序
2 初始化 s = start[0], e = end[0]
3 对于之后的每一个intervals[i],如果 start[i] 在区间[s, e] 内,则说明可以合并,否则是一个新的区间。

代码

class Solution {
public:vector<vector<int>> merge(vector<vector<int>> &intervals) {vector<vector<int>> result;sort(intervals.begin(), intervals.end());int start = intervals[0][0], end = intervals[0][1];int i = 1;while (i < intervals.size()) {if (intervals[i][0] > end) {result.push_back({start, end});start = intervals[i][0];}end = max(end, intervals[i][1]);i++;}result.push_back({start, end});return result;
}
};

结果

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/72163.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/72163.shtml
英文地址,请注明出处:http://en.pswp.cn/web/72163.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

系统开发资源

一、前端篇 1.1 菜鸟CSS教程 1.2 HTML/CSS/JS 在线工具 二、后端篇 三、其他篇 3.1 菜鸟官网 3.2 黑马程序员学习路线 3.3 根据地区获取经纬度

计算机视觉cv2入门之图像的读取,显示,与保存

在计算机视觉领域&#xff0c;Python的cv2库是一个不可或缺的工具&#xff0c;它提供了丰富的图像处理功能。作为OpenCV的Python接口&#xff0c;cv2使得图像处理的实现变得简单而高效。 示例图片 目录 opencv获取方式 图像基本知识 颜色空间 RGB HSV 图像格式 BMP格式 …

k8s面试题总结(十五)

1.如何使用Kubernetes进行多环境部署&#xff08;如开发&#xff0c;测试和生产环境&#xff09;&#xff1f; 使用命名空间&#xff08;namespaces&#xff09;&#xff1a; 命名空间是用于逻辑隔离和资源分组的一种方式&#xff0c;可以为每个环境创建单独的命名空间。 2.使…

linux中yum和wget指令的区别

yum 和 wget 都是 Linux 上的下载工具&#xff0c;但它们的用途、下载方式和适用场景不同。以下是它们的 主要区别&#xff1a; 1. yum 是软件包管理器&#xff0c;wget 是文件下载工具 功能yumwget用途安装、更新和管理 RPM 软件包从 HTTP/HTTPS/FTP 下载文件工作方式通过 yu…

性能优化:服务器性能影响网站加载速度分析

问题&#xff1a;网站访问加载慢是受部署服务器的核数、带宽、内存影响吗&#xff1f;&#xff1f; 文章目录 前言一、服务器核数&#xff08;CPU&#xff09;二、带宽三、内存&#xff08;RAM&#xff09;四、其他潜在影响因素五、排查与优化步骤六、总结 前言 网站访问加载速…

【python】一文掌握 Conda 指令 (anaconda备忘清单)

文章目录 入门常用基础命令环境与包管理包与源管理更改环境导出环境配置其它额外提示这是开始使用 conda 命令的快速参考备忘单,初次学习可参考 这里 参考: Anaconda文档官网命令Cheat sheetConda cheatsheet PDF入门 常用基础命令 命令说明conda info查看 conda 的一系列基…

Qt:绘图API

目录 初识绘图 绘图API的使用 绘制形状(QPaintEvent) 绘制文字(画笔QPen) 内部填充(画刷QBrush) 绘制图片(QPixmap) 初识绘图 我们前面学习 Qt 主要是学 Qt 的各种控件&#xff0c;本质上都是画出来的 都是一些常用的东西&#xff0c;Qt 已经提前画好了&#xff0c;拿过…

【附JS、Python、C++题解】Leetcode面试150题(9)——三数之和

一、题目​​​​​ 15. 三数之和 给你一个整数数组 nums &#xff0c;判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足&#xff1a; i!j、i!k 且 j! k &#xff0c;同时还满足&#xff1a;nums[i] nums[j] nums[k] 0 。请你返回所有和为 0 且不重复的三元组。 注意…

开源、创新与人才发展:机器人产业的战略布局与稚晖君成功案例解析

目录 引言 一、开源&#xff1a;机器人产业的战略布局 促进技术进步和生态建设 吸引人才和合作伙伴 建立标准和网络效应 降低研发风险与成本 二、稚晖君&#xff1a;华为"天才少年计划"的成功典范 深厚的技术积累与动手能力 强烈的探索和创新意识 持续公开…

Android笔记:Android平台下SVG格式的解析与实践

在移动应用开发的广阔天地里,开发者们始终致力于打造视觉效果卓越、适配各类设备屏幕的优质应用。SVG(Scalable Vector Graphics,可缩放矢量图形)作为基于 XML 的图形格式,以其鲜明特性,为 Android 开发者提供了实现这一愿景的关键路径。接下来,本文将全方位深入解析在 …

mac本地部署Qwq-32b记录

导语 昨天看到阿里开源了Qwq-32b&#xff0c;号称性能可以媲美Deepseek-R1。今天晚上有空就在Mac上折腾了一下&#xff0c;使用ollma进行了部署&#xff0c;效果感觉还不错&#xff0c;特此记录。 环境 硬件 型号&#xff1a;Macbook M1 Pro 14寸内存&#xff1a;32G 环境…

blender学习25.3.11

【05-进阶篇】Blender咖啡小场景之咖啡杯建模_哔哩哔哩_bilibili 杯子 首先做一个圆柱体 循环切割 crtlr 往下拖拽 框住按s往里收 Gz向上点 点击顶面按插入i&#xff0c;往里收一下&#xff0c;这样就插入了一个面 插入完成之后选中这个面&#xff0c;按下键盘的挤压E 然后…

数据可信、隐私可控:CESS 如何打造波卡生态数据新基建?

原文&#xff1a;https://messari.io/report/cess-network-a-deep-dive-into-programmable-data-value-infrastructure作者&#xff1a;Messari编译&#xff1a;OneBlock波卡生态一直以来以其跨链互操作性和灵活性吸引了众多创新项目&#xff0c;尤其是在 DePIN&#xff08;去中…

Android 列表页面终极封装:SmartRefreshLayout + BRVAH 实现下拉刷新和加载更多

在 Android 开发中&#xff0c;列表页面是常见的 UI 设计模式&#xff0c;而下拉刷新和加载更多是提升用户体验的关键功能。本文将带你从零开始&#xff0c;封装一个高复用性的 SmartRefreshHelper 工具类&#xff0c;结合 SmartRefreshLayout 和 BRVAH&#xff0c;实现高效、灵…

css基本功

为什么 ::first-letter 是伪元素&#xff1f; ::first-letter 的作用是选择并样式化元素的第一个字母&#xff0c;它创建了一个虚拟的元素来包裹这个字母&#xff0c;因此属于伪元素。 grid布局 案例一 <!DOCTYPE html> <html lang"zh-CN"><head&…

基于WebRTC技术的EasyRTC嵌入式音视频SDK:多平台兼容与性能优化

在当今数字化、智能化的时代背景下&#xff0c;实时音视频通信技术已成为众多领域不可或缺的关键技术。基于WebRTC技术的EasyRTC嵌入式音视频SDK&#xff0c;凭借其在ARM、Linux、Windows、安卓、iOS等多平台上的兼容性&#xff0c;为开发者提供了强大的工具&#xff0c;推动了…

【Pandas】pandas Series last_valid_index

Pandas2.2 Series Time Series-related 方法描述Series.asfreq(freq[, method, how, …])用于将时间序列数据转换为指定的频率Series.asof(where[, subset])用于返回时间序列中指定索引位置的最近一个非缺失值Series.shift([periods, freq, axis, …])用于将时间序列数据沿指…

批量将 Excel 文档中的图片提取到文件夹

前面我们介绍过如何批量删除 Excel 文档中的所有图片或者指定的图片&#xff0c;其中就需要用到批量提取 Excel 文档中图片的操作。我们如何才能够将 Excel 文档中的图片快速的提取出来呢&#xff1f;其实单个 Excel 文档中的图片提取到文件夹中是有多种方法可以完成的&#xf…

【氮化镓】开态GaN HEMTs中氧诱导Vth漂移的缺陷演化

2019年,中国工程物理研究院电子工程研究所的Rong Wang等人基于实验研究和第一性原理计算,研究了开启态偏置下AlGaN/GaN高电子迁移率晶体管(HEMTs)中氧诱导的阈值电压(Vth)漂移的缺陷演化机理。实验结果表明,在开启态应力作用下,T型栅AlGaN/GaN HEMT的Vth发生了明显的负…

谷粒商城:性能压测JVM堆区

目录 Kit Apache JMeter VisualVM 堆内存 jvm内存模型 垃圾回收&#xff08;Garbage Collection, GC&#xff09; 新对象分配内存 GC步骤 MinorGC 性能优化 影响因素 优化 nginx动静分离 优化三级分类获取 Jvm参数配置堆区 测试 Kit Apache JMeter 压力测试&…