当前位置: 首页 > ai >正文

在做题中学习(89):合并区间

解法:模拟 + 排序

思路:先画出两个示例的简图

发现如果前一个数组的第二个元素 > = 后一个数组的第一个元素即可合并v[i][0],v[i+1][1]。但是,示例中的数组都是按内部数组的第一个元素进行排序过的,如果无序,这个判断就没有意义,因此需要先排序,而合并时还有一种情况:

因此,虽然符合合并规则,但是加入进返回的ret数组中时,就不能单纯的组合头和尾,而应该取v[i][1]和v[i+1][1]的更大值。

附上完整代码:

class Solution 
{
public:vector<vector<int>> merge(vector<vector<int>>& v) {sort(v.begin(),v.end());vector<vector<int>> ret;for(auto& e : v){if(ret.size() && ret.back()[1] >= e[0])ret.back()[1] = max(ret.back()[1],e[1]);elseret.push_back(e);}return ret;}
};

http://www.xdnf.cn/news/19060.html

相关文章:

  • 如何去除edge浏览器的灰色边框
  • idea2023.3遇到了Lombok失效问题,注释optional和annotationProcessorPaths即可恢复正常
  • Redis与MySQL数据不一致问题
  • 【MYSQL | 基础篇 多表查询】
  • FunctionAI 图像生成:简化从灵感到 API 调用的每一步
  • Kingbase-Mysql兼容模式下LOAD DATA INFILE语法再体验
  • idea控制台从properties中取值然后打印出现控制台乱码问题
  • (论文速读)MAPTNet——少样本表面缺陷分割方法
  • Java图形图像处理【基础篇】【二】
  • 前端-什么是Vue
  • DMZ层Nginx TLS 终止与安全接入配置实战20250829
  • OpenCV 图像轮廓检测与相关技术全解析
  • 三维铸件模型分解:基于微分几何与拓扑结构的分析方法
  • Ubuntu虚拟机磁盘空间扩展指南
  • 基于LangChain框架搭建AI问答系统(附源码)
  • InnoDB存储引擎底层拆解:从页、事务到锁,如何撑起MySQL数据库高效运转(下)
  • MySQL 中如何解决深度分页的问题?
  • 嵌入式接口通识知识之RGB接口
  • 基于机器学习的多个模型的预测Backtrader自动化交易系统设计
  • 关于shell命令的扩展
  • AlexNet:点燃深度学习革命的「卷积神经网络之王」
  • 接口测试工具:Postman详解
  • 计算机专业考研备考建议
  • idea2025.2中maven编译中文乱码
  • 编译esp32报错解决办法
  • 机器学习复习
  • 【go】三端实时反馈系统的设计,websocket实现
  • 12.压缩和打包
  • 创建第一个 Electron 应用:Hello World 示例
  • 【算法】15. 三数之和