leetcode 986. Interval List Intersections | 986. 区间列表的交集(双指针)
题目
https://leetcode.com/problems/interval-list-intersections/
题解
本题用双指针。(想了下,也可以用线段树,和天际线那道题类似)
class Solution {public int[][] intervalIntersection(int[][] firstList, int[][] secondList) {int i = 0;int j = 0;List<int[]> list = new ArrayList<>();while (i < firstList.length || j < secondList.length) {if (i == firstList.length) {j++;} else if (j == secondList.length) {i++;} else {// 有重叠情况:// [ ]// [ ]// [ ]// [ ]// [ ]// [ ]// [ ]// [ ]// 无重叠情况:// [ ]// [ ]// [ ]// [ ]int start = Math.max(firstList[i][0], secondList[j][0]);int end = Math.min(firstList[i][1], secondList[j][1]);if (start <= end) {list.add(new int[]{start, end});if (firstList[i][1] < secondList[j][1]) {i++;} else {j++;}} else {if (firstList[i][1] < secondList[j][0]) {i++;} else {j++;}}}}int[][] result = new int[list.size()][];for (int k = 0; k < list.size(); k++) {result[k] = list.get(k);}return result;}
}
leetcode 986. Interval List Intersections | 986. 区间列表的交集(双指针)相关推荐
- 【LeetCode 986】 区间列表的交集(区间交集)
给定两个由一些 闭区间 组成的列表,firstList 和 secondList ,其中 firstList[i] = [starti, endi] 而 secondList[j] = [startj ...
- LeetCode 986. 区间列表的交集
文章目录 1. 题目信息 2. 解题 1. 题目信息 给定两个由一些闭区间组成的列表,每个区间列表都是成对不相交的,并且已经排序. 返回这两个区间列表的交集. (形式上,闭区间 [a, b](其中 a ...
- Leetcode刷题986. 区间列表的交集
给定两个由一些 闭区间 组成的列表,每个区间列表都是成对不相交的,并且已经排序. 返回这两个区间列表的交集. (形式上,闭区间 [a, b](其中 a <= b)表示实数 x 的集合,而 a & ...
- 2022-2-16 Leetcode986.区间列表的交集
一共分成三种情况来考虑 第一种情况 first 和 second 所在的区间有交集,但是不会超过 second 所在的区间,最终截取的区间段是两者的交集. 取完交集之后,是 first 向后移动一个, ...
- LeetCode 55跳跃游戏56合并区间57插入区间
原创公众号:bigsai 希望和优秀的你做朋友,感觉不错还请一键三连. 回复进群即可加入和200+人一起打卡.上周打卡: LeetCode 47全排列Ⅱ&48旋转图像 LeetCode 49字 ...
- 【LeetCode】第599题——两个列表的最小索引总和(难度:简单)
[LeetCode]第599题--两个列表的最小索引总和(难度:简单) 题目描述 解题思路 代码详解 注意点 题目描述 假设Andy和Doris想在晚餐时选择一家餐厅,并且他们都有一个表示最喜爱餐厅的 ...
- leetcode每日一题825. 适龄的朋友 快排+双指针
本文目录 leetcode每日一题825. 适龄的朋友 快排+双指针 写在前面 题目 示例 提示 思路 代码实现 执行结果 写在后面 leetcode每日一题825. 适龄的朋友 快排+双指针 写在前 ...
- 求两个集合的差集代码_求求你了,不要再写循环求两个列表的交集,并集和差集了 | pythonic 小技巧...
在 Python 中,求两个列表的交集,并集和差集是经常会遇到的需求,而且也比较简单. 最容易想到的就是写循环,对两个列表分别进行循环,然后判断元素是否在另一个列表中,求得最终结果. 但这种方法比较 ...
- 数据结构:求两个有序列表的交集,并集
1.求两个有序列表的交集 LNode* Intersection(LNode* La,LNode* Lb) {if (La==NULL||Lb==NULL){return NULL;}LNode *p ...
最新文章
- Java控制语句——switch语句
- Linux Kernel TCP/IP Stack — L3 Layer — netfilter 框架
- yum 卸载php及依赖包,yum使用指南-软件卸载、安装、更新、获取软件包
- react native 生成APK
- localstorage存mysql_存储localstorage
- excel制作跨职能流程图_用Excel规划求解工具,实现组合投资优化
- bzoj 3394: [Usaco2009 Jan]Best Spot 最佳牧场(floyd)
- cxf打印报文日志_使用线程池实现异步打日志和存库的任务调度
- linux 默认组,系统自动创建的默认安全组和自己创建的安全组的默认规则
- Flink + TiDB,体验实时数仓之美
- Centos系统安装踩坑
- Shel脚本-初步入门之《04》
- 轻松教你苹果airdrop怎么用
- 如何更新谷歌chrome浏览器
- 哈曼推出Savari MECWAVE:超低时延边缘计算平台提供交钥匙式互联服务
- MATLAB中BLAS加载错误,找不到指定模块
- Windows+Anaconda+tensorflow+keras深度学习框架搭建--reproduced
- 猿圈 题库_小猿圈总结常见HTML5基础知识面试题汇总
- 爬取安居客租房详情+翻页
- SQL数据库——分组查询GROUP BY
热门文章
- 山东理工大学第十二届ACM程序设计竞赛 - Cut the tree(树上启发式合并+线段树)
- CodeForces - 1326D2 Prefix-Suffix Palindrome (Hard version)(马拉车/回文自动机)
- CodeForces - 722C Destroying Array(倒着并查集+离线处理)
- POJ - 1655 Balancing Act(树的重心)
- centos yum 安装java_Linux Centos 使用 yum 安装java
- uva1628 最优路径问题
- 调用 php_最全的PHP反序列化漏洞的理解和应用
- 感染性的木马病毒分析之样本KWSUpreport.exe
- 6.OD-Run trace /Hit trace
- 多线程学习(一)----CreateThread