news 2026/5/16 6:48:02

合并区间(二维vector使用,多维vector使用默认sort)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
合并区间(二维vector使用,多维vector使用默认sort)

注意点:

1.sort自带的比较函数是支持多维数组比较的,使用的是字典序比较;

2.对于多维的vector,可以使用back,front,at等函数

比较例子:


二维 vector 示例

vector<vector<int>> v = { {2,5}, {1,3}, {1,2} }; sort(v.begin(), v.end());

比较过程(字典序)

  1. 比较[2,5][1,3]

    • 第一元素 2 > 1 →[1,3] < [2,5]

  2. 比较[2,5][1,2]

    • 第一元素 2 > 1 →[1,2] < [2,5]

  3. 比较[1,3][1,2]

    • 第一元素相等 1 == 1 → 比第二元素 3 > 2 →[1,2] < [1,3]

排序结果:

{ {1,2}, {1,3}, {2,5} }

左端点升序排列,相同左端点按右端点升序,正好符合区间合并需求。


三维 vector 示例

vector<vector<vector<int>>> arr = { {{1,2},{3,4}}, {{1,2},{3,3}}, {{0,9}}, {{1,1},{2,2}} }; sort(arr.begin(), arr.end());

比较过程(逐层字典序)

  1. 比较{{1,2},{3,4}}{{1,2},{3,3}}

    • 第一行[1,2] == [1,2]→ 比第二行[3,4] > [3,3]→ 后者更小

  2. 比较{{0,9}}与其它

    • 第一行[0,9]小于[1,2]→ 排最前

  3. 比较{{1,1},{2,2}}{{1,2},{3,3}}

    • 第一行[1,1] < [1,2]→ 排在前

排序结果:

{ {{0,9}}, {{1,1},{2,2}}, {{1,2},{3,3}}, {{1,2},{3,4}} }

外层二维数组按字典序排列,内层数组也按字典序排列。


总结规律

  • 二维 vector:先比每行第一个元素,不同立即决定顺序;相同则比第二个元素

  • 三维 vector:先比第一层的第一行第一个元素 → 若相等比第一行第二个元素 → 若仍相等比下一行,依此类推

  • 任意维度:逐层逐元素比较 → 遇到不同立即返回 → 相同继续比较下一位

class Solution { public: vector<vector<int>> merge(vector<vector<int>>& intervals) { sort(intervals.begin(),intervals.end()); vector<vector<int>> tmp; for(int i =0;i<intervals.size();i++){ int L=intervals[i][0]; int R=intervals[i][1]; if(!tmp.size() || L>tmp.back()[1]) tmp.push_back({L,R}); else tmp.back()[1]=tmp.back()[1]>R?tmp.back()[1]:R; } return tmp; } };
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/12 18:31:22

Ubuntu远程连接控制私网Ubuntu很简单----内网穿透

https://blog.csdn.net/geniusChinaHN/article/details/156025026?spm1001.2014.3001.5501 如果你要建立的是服务器&#xff0c;一定要有一个公网IP&#xff0c;要不然是穿不透的。这里是一台电脑远程控制另外一台私网IP电脑。

作者头像 李华
网站建设 2026/4/22 17:18:28

【2025最新】Sumatra PDF 下载安装教程:轻量高效的PDF阅读器全方位指南

在Windows系统中&#xff0c;PDF阅读器种类繁多&#xff0c;但多数软件启动慢、体积大或夹带多余功能。对于追求高效、简洁体验的用户而言&#xff0c;Sumatra PDF 是一个理想选择。 本文提供一份完整的 Sumatra PDF 下载安装教程&#xff0c;涵盖获取方式、安装流程、语言设置…

作者头像 李华
网站建设 2026/5/1 8:22:50

基于单视图几何摄像机内参的投影成像原理

理论基础&#xff1a;焦距 f 就是胶片到小孔的距离摄像机焦距和fov存在一一对应的关系&#xff0c;fov其实就是摄像机焦距的另一种更直观的表达方式摄像机坐标系的原点就是针孔位置&#xff1a;摄像机焦距就是原点到像平面的距离通过将&#xff1a; &#xff08; 点的物理坐标/…

作者头像 李华
网站建设 2026/5/11 2:02:09

# CATIA V5 零基础全能设计课程

# CATIA V5 零基础全能设计课程 **发布时间**&#xff1a;2025年12月 英语 | 课时规模&#xff1a;90讲 大小&#xff1a;6 GB 通过实操建模、装配、工程制图和曲面设计项目&#xff0c;**从零开始掌握CATIA V5**。CATIA V5 Complete Design Course for Beginners## 你将学到的…

作者头像 李华
网站建设 2026/5/13 6:42:16

24、线程编程:事件驱动、并发、竞争与同步

线程编程:事件驱动、并发、竞争与同步 1. 事件驱动线程 在现代编程中,事件驱动模式是对每个连接一个线程模式的一种改进。以 Web 服务器为例,现代硬件在计算能力上能够同时处理大量请求。但在每个连接一个线程的模式下,这意味着会创建大量线程。线程存在固定开销,特别是…

作者头像 李华
网站建设 2026/5/9 3:01:54

HarmonyOS开发之分布式硬件共享——使用虚拟设备

HarmonyOS开发之分布式硬件共享——使用虚拟设备 第一部分&#xff1a;引入 想象一下这样的场景&#xff1a;你在用平板电脑参加视频会议&#xff0c;但平板的摄像头像素不够高&#xff0c;画质模糊&#xff1b;或者你在智能手表上想拍照记录运动瞬间&#xff0c;但手表摄像头性…

作者头像 李华