合并区间(C++解法)
题目
以数组 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] 可被视为重叠区间。
C++代码
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;/*
* 合并区间问题
* 排序,定义区间的左右两边数字
* 如果当前区间的左端点在数组 merged 中最后一个区间的右端点之后,
那么它们不会重合,我们可以直接将这个区间加入数组 merged 的末尾
* 否则,它们重合,我们需要用当前区间的右端点更新数组 merged 中最后一个区间的右端点
*/
vector<vector<int>> merge(vector<vector<int>>& intervals) {if (intervals.size() == 0) {return {};}sort(intervals.begin(), intervals.end());vector<vector<int>> merged;for (int i = 0; i < intervals.size(); ++i) {int L = intervals[i][0], R = intervals[i][1];if (!merged.size() || merged.back()[1] < L) {merged.push_back({ L, R });}else {merged.back()[1] = max(merged.back()[1], R);}}return merged;
}int main() {vector<vector<int>> intervals = { {1,3},{2,6},{8,10},{15,18} };vector<vector<int>> merged = merge(intervals);for (int i = 0; i < merged.size(); ++i) {for (int j = 0; j < merged[0].size(); ++j) {cout << merged[i][j] << " ";}cout << endl;}return 0;
}
分析
合并区间问题,排序,定义区间的左右两边数字。如果当前区间的左端点在数组 merged 中最后一个区间的右端点之后,那么它们不会重合,我们可以直接将这个区间加入数组 merged 的末尾;否则,它们重合,我们需要用当前区间的右端点更新数组 merged 中最后一个区间的右端点。
相关文章:
合并区间(C++解法)
题目 以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间 。 示例 1: 输入:intervals …...
CUDA学习笔记(十四) Constant Memory
转载至https://www.cnblogs.com/1024incn/tag/CUDA/ CONSTANT MEMORY constant Memory对于device来说只读但是对于host是可读可写。constant Memory和global Memory一样都位于DRAM,并且有一个独立的on-chip cache,比直接从constant Memory读取要快得多…...
使用MFC创建一个SaleSystem
目录 1、项目的创建: 2、项目的配置: 3、设置窗口属性: (1)、设置图标 1)、添加导入资源 2)、代码初始化图标 (2)、设置标题 (3)、设置窗口…...
grafana v10.1版本设置告警
1. 相关概念概述 如图所示,点击切换菜单标志,可以看到警报相关子选项。 警报规则:通过PromQL语句定义告警规则,即达到怎样的状态触发告警。 联络点: 设置当警报规则实例触发时,如何通知联系人,…...
Python+Requests+PyTest+Excel+Allure 接口自动化测试实战
本文主要介绍了PythonRequestsPyTestExcelAllure 接口自动化测试实战,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 Unittest是Python标准库中自带的单元测试框架…...
日志分析系统——ELK
目录 一、ELK概述 ELK的组成 1、ElasticSearch 2、Logstash 3、Kiabana 完整日志采集系统基本特征 ELK的工作原理 二、ELK的部署 1、环境准备 2、部署ElasticSearch软件 3、安装Elasticsearch-head插件 4、Logstash部署 5、Kibana部署 三、FilebeatELK部署 1、安…...
Ubuntu小知识总结
Ubuntu相关的小知识总结 一、Ubuntu系统下修改用户开机密码二、Vmware虚拟机和主机之间复制、粘贴内容、拖拽文件的详细方法问题描述Vmware tools灰色不能安装解决方法小知识点:MarkDown的空格 三、Ubuntu虚拟机网络无法连接的几种解决方法1.重启网络编辑器2. 重启虚…...
2023年全球市场新能源汽车车载充电器总体规模、主要生产商、主要地区、产品和应用细分研究报告
按收入计,2022年全球新能源汽车车载充电器收入大约 百万美元,预计2029年达到 百万美元,2023至2029期间,年复合增长率CAGR为 %。同时2022年全球新能源汽车车载充电器销量大约 ,预计2029年将达到 。2022年中国市场规模大…...
基于stm32控制的ESP8266在设备模式下通讯
一、文章中要用的指令 指令作用ATUART115200,8,1,0,0之前的51通讯是9600,这里的321用的是115200,需要改一下波特率ATCWMODEXX是1代表station(设备)模式 ,X是2代表AP(路由)模式 ,X是…...
用PHP组合数组,生成笛卡尔积。写几个例子
#创作灵感# [红色,白色,黄色,蓝色] [128G,256G,512G] [国行,港版,美版,韩版] 用PHP组合数组,生成笛卡尔积。写几个例子 你可以使用嵌套的循环来生成这些数组的笛卡尔积。以下是一些示例代码: // 示例…...
软设上午题错题知识点7
软设上午题错题知识点7 1、数据流图摆脱系统的物理内容,在逻辑上描述系统的功能、输入、输出和数据存储等,是系统逻辑模型的重要组成部分。 2、HTTPS(Secure Hypertext Transfer Protocol)安全超文本传输协议。 它是一个安全通信…...
让uniGUI支持https
今天在专家的帮助下,成功的让uniGUI支持https了。 首先,去申请个**的证书。我同事去阿里申请的,申请回是一个zip文件,里面有两个文件,一个扩展是per,一个key 然后,把这两个证书文件放到uniGUI…...
iPhone怎么导出微信聊天记录?3个值得收藏的方法
随着时间的推移,微信占用的内存空间会“膨胀”得越来越大。当手机内存不足时,清理微信中的聊天记录是一个可行的方法。但是很多小伙伴觉得有些重要的聊天记录还有用,可能以后需要进行查看。 因此,他们想将一些聊天记录进行导出或…...
【Proteus仿真】【STM32单片机】自动饲养控制系统
文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真STM32单片机控制器,使用LCD1604显示模块、红外传感器、有害气体检测模块、PCF8591 ADC模块,蜂鸣器、DHT11温湿度、SG90舵机、风扇加热加湿等。 主要功能&a…...
【设计模式】模板方法模式
模板方法模式 1. 什么是模板方法 模板方法模式:定义一个操作中的算法骨架(父类),而将一些步骤延迟到子类中。 模板方法使得子类可以不改变一个算法的结构来重定义该算法的 2. 什么时候使用模板方法 实现一些操作时,…...
c语言进制的转换二进制转换10进制
c语言进制的转换之二进制转换10进制 c语言的进制的转换 c语言进制的转换之二进制转换10进制一、二进制转换10进制的方法二、10进制程序打印 一、二进制转换10进制的方法 二进制: 二进制逢二进一,所有的数组是0、1组成 十进制转二进制: 除二反…...
C++ 纠错题总结2
1、for循环中的判断语句: 要注意初始赋值、< 还是 < for(int i 0; i < n; i) 2、cin.getline(char[], int, char) 注意:第二个参数为不是char[]的有效元素个数,因为最后一个元素位置要用来存储 \0 3、函数形参有默认值的,有默认…...
Jmeter性能 —— 事务控制器
统计性能测试结果一定会关注TPS,TPS表示:每秒处理事务数,JMeter默认每个事务对应一个请求。我们可以用逻辑控制器中的事务控制器将多个请求统计为一个事务。 1、添加事务控制器 2、事务控制器参数说明 Generate parent sample:如…...
Android C/C++ native编程NDK开发中logcat的使用
Android C/C native编程NDK开发中logcat的使用 前言具体用法 前言 在NDK开发过程中,C/C层,需要对代码进行一些调试,日志打印是我们解决异常或崩溃的重要手段,这里我就简单介绍下日志打印三步走。 首先我们先看下官方文档关于日志…...
什么是美颜SDK?深入了解直播实时美颜SDK
美颜已经成为了现代社交媒体和直播应用中的重要元素,它使用户能够在拍摄自拍照片或进行直播时改善其外貌特征。美颜技术的普及离不开美颜SDK(软件开发工具包),特别是在直播应用中,直播实时美颜SDK正变得越来越流行。在…...
JaCoCo在CI/CD流水线中的应用:自动化测试与质量门禁终极指南
JaCoCo在CI/CD流水线中的应用:自动化测试与质量门禁终极指南 【免费下载链接】jacoco :microscope: Java Code Coverage Library 项目地址: https://gitcode.com/gh_mirrors/ja/jacoco JaCoCo(Java Code Coverage Library)是一款强大的…...
终极Deno安全开发指南:从权限控制到依赖审计的完整实践
终极Deno安全开发指南:从权限控制到依赖审计的完整实践 【免费下载链接】awesome-deno Curated list of awesome things related to Deno 项目地址: https://gitcode.com/gh_mirrors/aw/awesome-deno Deno作为一个简单、现代且安全的JavaScript和TypeScript运…...
别再只用wx.hideHomeButton了!聊聊微信小程序导航栏控制的那些‘潜规则’与最佳实践
微信小程序导航栏控制的深度解析与实战策略 在小程序开发中,导航栏控制看似简单,实则暗藏玄机。许多开发者习惯性地使用wx.hideHomeButton来隐藏返回按钮,却忽略了微信小程序导航系统的完整逻辑和潜在规则。本文将从小程序导航机制的核心原理…...
还在为臃肿的视频文件烦恼?这个免费开源工具帮你一键瘦身
还在为臃肿的视频文件烦恼?这个免费开源工具帮你一键瘦身 【免费下载链接】compressO Convert any video/image into a tiny size. 100% free & open-source. Available for Mac, Windows & Linux. 项目地址: https://gitcode.com/gh_mirrors/co/compress…...
PAJ7620手势传感器Arduino驱动库详解
1. 项目概述RevEng PAJ7620 是一个面向嵌入式平台的 Arduino 兼容 C 驱动库,专为 PixArt 公司推出的 PAJ7620 系列集成手势识别传感器设计。该库完整支持 PAJ7620、PAJ7620U2 和 PAJ7620F2 三种硬件变体,其核心目标是将底层寄存器操作、IC 协议时序、模式…...
Qwen3-ForcedAligner-0.6B在Dify平台上的无代码部署方案
Qwen3-ForcedAligner-0.6B在Dify平台上的无代码部署方案 1. 引言 语音和文本的对齐技术在实际应用中越来越重要,无论是制作字幕、语音分析还是内容创作,都需要精确的时间戳对齐。传统方法往往需要复杂的代码编写和配置,让很多非技术背景的用…...
PixelMentor:一个开源网站 · 调用AI视觉能力分析图片 · 提供影视后期修改意见偶
1. 前言 本文详细介绍如何使用 kylin v10 iso 文件构建出 docker image,docker 版本为 20.10.7。 2. 构建 yum 离线源 2.1. 挂载 ISO 文件 mount Kylin-Server-V10-GFB-Release-030-ARM64.iso /media 2.2. 添加离线 repo 文件 在/etc/yum.repos.d/下创建kylin-local…...
VSCode里那个烦人的Delete ␍ prettier报错,我是这样一键解决的
VSCode里那个烦人的Delete ␍ prettier报错,我是这样一键解决的 每次在VSCode里保存文件时,右下角突然蹦出那个"Delete ␍ prettier/prettier"的红色报错,你是不是也和我一样感到烦躁?作为一个长期在Windows和Mac之间切…...
Web Scraper插件实战:从乱序爬取到精准数据抓取的五大技巧
1. 为什么你的爬取数据总是乱序? 第一次用Web Scraper插件爬豆瓣电影Top250时,我也遇到过数据错位的尴尬情况。明明页面上《肖申克的救赎》对应着"希望让人自由"的经典台词,导出的CSV里却变成了《霸王别姬》的剧情简介。这种张冠李…...
MSTP+VRRP企业级网络冗余架构实战解析
1. 为什么企业网络需要MSTPVRRP冗余架构 现代企业网络对稳定性的要求越来越高,任何网络中断都可能造成重大经济损失。记得去年我参与某制造企业的网络改造项目,就因为核心交换机单点故障导致生产线停工2小时,直接损失超过50万元。这正是我们需…...
