LeetCode 986. 区间列表的交集

文章目录

    • 1. 题目信息
    • 2. 解题

1. 题目信息

给定两个由一些闭区间组成的列表,每个区间列表都是成对不相交的,并且已经排序。

返回这两个区间列表的交集。

(形式上,闭区间 [a, b](其中 a <= b)表示实数 x 的集合,而 a <= x <= b。两个闭区间的交集是一组实数,要么为空集,要么为闭区间。例如,[1, 3] 和 [2, 4] 的交集为 [2, 3]。)

示例:
在这里插入图片描述

输入:A = [[0,2],[5,10],[13,23],[24,25]], B = [[1,5],[8,12],[15,24],[25,26]]
输出:[[1,2],[5,5],[8,10],[15,23],[24,24],[25,25]]
注意:输入和所需的输出都是区间对象组成的列表,而不是数组或列表。提示:0 <= A.length < 1000
0 <= B.length < 1000
0 <= A[i].start, A[i].end, B[i].start, B[i].end < 10^9

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/interval-list-intersections
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

  • 区间共有以下图示7种可能,分别讨论
  • left = max(A[i][0], B[j][0]); right = min(A[i][1], B[j][1]);
  • [ left, right ] 为可能的相交区间(left <= right)
  • 分别讨论可能的情况,移动Ai , Bi 至下一个
    在这里插入图片描述
    在这里插入图片描述
class Solution {
public:vector<vector<int>> intervalIntersection(vector<vector<int>>& A, vector<vector<int>>& B) {if(A.empty() || B.empty())return {};int i = 0, j = 0, left, right;vector<vector<int>> ans;while(i < A.size() && j < B.size()){left = max(A[i][0], B[j][0]);right = min(A[i][1], B[j][1]);if(A[i][0] > B[j][0]){if(A[i][1] <= B[j][1])++i;else++j;if(left <= right)ans.push_back({left,right});}else if(A[i][0] < B[j][0]){if(A[i][1] >= B[j][1])++j;else++i;if(left <= right)ans.push_back({left,right});}else//A[i][0] == B[j][0]{if(A[i][1] < B[j][1])++i;else if(A[i][1] > B[j][1])++j;else++i, ++j;ans.push_back({left,right});}}return ans;}
};

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

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

相关文章

基于 CNN 的中文对话情感分析

1 基于 CNN 的中文对话情感分析&#xff1a;https://www.jianshu.com/p/87ca0616f1a4 2 清华 ACL 2020 长文 | KdConv&#xff1a;多领域知识驱动的中文多轮对话数据集 https://cloud.tencent.com/developer/article/1613832 论文链接&#xff1a;https://arxiv.org/abs/2004.0…

论文浅尝 | 学习开发知识图谱中的长期关系依赖 - ICML 2019 ​

本文转载自公众号&#xff1a;南大Websoft。 论文&#xff1a;https://arxiv.org/abs/1905.04914代码&#xff1a;https://github.com/nju-websoft/RSN背景知识图谱结构化地存储着大量现实世界中的事实。其中&#xff0c;每个事实都以三元组 (s, r, o) 的方式进行描述&#xf…

一张图看懂小米千亿美金生态链产品

小米上市近在眼前&#xff0c;最快5月初提交IPO申请&#xff0c;再到小米IPO股指不断攀升&#xff0c;估值直奔1000亿美金以上&#xff0c;小米用了7年时间&#xff0c;这在整个互联网的发展史上&#xff0c;也算是火箭般的发展速度。 今天我们一起复盘看看小米的千亿美金生态…

Pycharm使用远程服务器运行代码

pycharm下载专业版&#xff0c;然后用学生邮箱申请个激活码&#xff08;我这里申请了个账号&#xff0c;更方便&#xff09;。 连上厦大VPN&#xff0c;再用pycharm高级版可以直接连到学校的GPU服务器&#xff0c;这样平时不在学校也能调试服务器了。 厦大VPN设置 pycharm下载…

吐槽贴:用ELECTRA、ALBERT之前,你真的了解它们吗?

文 | 苏剑林单位 | 追一科技编 | 兔子酱在预训练语言模型中&#xff0c;ALBERT和ELECTRA算是继BERT之后的两个“后起之秀”。它们从不同的角度入手对BERT进行了改进&#xff0c;最终提升了效果&#xff08;至少在不少公开评测数据集上是这样&#xff09;&#xff0c;因此也赢得…

LeetCode 56. 合并区间(优先队列)

文章目录1. 题目信息2. 解题2.1 报错的答案2.2 优先队列解题1. 题目信息 给出一个区间的集合&#xff0c;请合并所有重叠的区间。 示例 1:输入: [[1,3],[2,6],[8,10],[15,18]] 输出: [[1,6],[8,10],[15,18]] 解释: 区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6]. 示例 2:输入…

中文情感分析语料库大全-带下载地址

[中文情感分析语料库大全-带下载地址]网址

论文浅尝 | 基于复杂查询图编码的知识库问答

论文笔记整理&#xff1a;谭亦鸣&#xff0c;东南大学博士生&#xff0c;研究方向为知识库问答。来源&#xff1a;EMNLP 2018链接&#xff1a;https://www.aclweb.org/anthology/D18-1242文章表示&#xff0c;复杂问答所面对的问题往往包含多种实体和关系&#xff08;来自知识库…

阿里Java架构师精通资料:性能优化+亿级并发架构汇总+架构选型

分布式并发架构 微服务、Docker容器的基本原理、架构设计&#xff0c;以及应用场景。 缓存&#xff1a;Redis、Memcached、CDN、本地缓存 搜索引擎的选型&#xff1a;Lucene、Solr等选型与比较 应用服务器雪崩&#xff1a;长事务、SQL超时、同步接口引起的雪崩场景&#xff…

Google Cloud TPUs支持Pytorch框架啦!

文 | Sherry在2019年PyTorch开发者大会上&#xff0c;Facebook&#xff0c;Google和Salesforce Research联合宣布启动PyTorch-TPU项目。项目的目标是在保持PyTorch的灵活性的同时让社区尽可能容易地利用云TPU提供的高性能计算。团队创建了PyTorch/XLA这个repo&#xff0c;它可以…

python实现批量图片/文件重命名

python实现批量图片/文件重命名 import osclass BatchRename():批量重命名文件夹中的图片文件def __init__(self):self.path D:/nlpPredict/SentenceSimilarity/daj # 表示需要命名处理的文件夹def rename(self):filelist os.listdir(self.path) # 获取文件路径print(file…

one of the variables needed for gradient computation has been modified by an inplace operation

出错问题&#xff1a; RuntimeError: one of the variables needed for gradient computation has been modified by an inplace operation: [torch.FloatTensor [8]], which is output 0 of SelectBackward, is at version 2; expected version 1 instead. Hint: enable anoma…

LeetCode 231. 2的幂 LeetCode 338. 比特位计数(2进制1的个数)

文章目录1. 题目信息2. 解题拓展&#xff1a;求一个数n的2进制有多少个1&#xff1f;LeetCode 3381. 题目信息 给定一个整数&#xff0c;编写一个函数来判断它是否是 2 的幂次方。 示例 1:输入: 1 输出: true 解释: 20 1 示例 2:输入: 16 输出: true 解释: 24 16 示例 3:输…

最全阿里架构师P系列解读:P5-P8的技能要求和薪资结构

2018年持续一整年的架构设计分享&#xff0c;2019年我希望持续分享的同时&#xff0c;能真正意义上帮助到部分读者成为一名架构师。 学习的同时请千万别&#xff1a;只见树木&#xff0c;不见森林。 所以我会让大家先俯瞰完整的森林&#xff0c;我们再从树木开始&#xff0c;…

NeurIPS’20 | 长尾问题太严重?半监督和自监督就可以有效缓解!

文 | Yuzhe Yang源 | 知乎来给大家介绍一下我们的最新工作&#xff0c;目前已被NeurIPS 2020接收&#xff1a;Rethinking the Value of Labels for Improving Class-Imbalanced Learning。这项工作主要研究一个经典而又非常实际且常见的问题&#xff1a;数据类别不平衡&#xf…

论文浅尝 | 知识图谱中的链接预测:一种基于层次约束的方法

论文笔记整理&#xff1a;张良&#xff0c;东南大学博士生&#xff0c;研究方向为知识图谱&#xff0c;自然语言处理。链接&#xff1a;https://ieeexplore.ieee.org/stamp/stamp.jsp?tp&arnumber8450054本文主要关注KG上的 Link prediction 问题&#xff0c;以往的方法在…

NumPy快速入门--基础知识

文章目录1. 一个典型例子2. 数组的创建3. 打印数组4. 基本操作5. 通用函数6. 索引、切片、迭代NumPy的数组类被称为ndarray。别名为 array。 ndarray.ndim&#xff1a;数组的轴&#xff08;维度&#xff09;的个数。又称为rank。ndarray.shape&#xff1a;数组的维度。是一个整…

Python 实现图片轮播及音乐循环播放

根据自己的实际情况修改Path参数。 遇到的问题&#xff1a;如果文件夹下存在图片损坏会停止播放&#xff0c;为了播放顺畅&#xff0c;可手动删除已损坏图片。 # -*- coding: utf-8 -*-""" Created on 2019/8/20author: elnrequirements: PyCharm 2017.2; Pyth…

阿里P8架构师谈:架构设计经验汇总

架构设计更多的是实践经验总结&#xff0c;以下架构设计经验&#xff0c;我会陆续补充完整。 一&#xff1a;数据库拆分原则 阿里P8架构师谈&#xff1a;架构设计之数据库拆分六大原则 二&#xff1a;缓存选择原则 阿里P8架构师谈&#xff1a;分布式缓存的应用场景、选型比较…

科技论文写作

一、论文模版 acm的latex模版从https://www.acm.org/publications/proceedings-template下载。创建的github库要设置成私有库 二、实验结果表格 使用在线工具 注意事项&#xff1a;结果四舍五入保留4位小数&#xff1b;对比实验的话(新结果-对比结果)/对比结果&#xff0c;结…