题目

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. 区间列表的交集(双指针)相关推荐

  1. 【LeetCode 986】 区间列表的交集(区间交集)

    给定两个由一些 闭区间 组成的列表,firstList 和 secondList ,其中 firstList[i] = [starti, endi] 而 secondList[j] = [startj ...

  2. LeetCode 986. 区间列表的交集

    文章目录 1. 题目信息 2. 解题 1. 题目信息 给定两个由一些闭区间组成的列表,每个区间列表都是成对不相交的,并且已经排序. 返回这两个区间列表的交集. (形式上,闭区间 [a, b](其中 a ...

  3. Leetcode刷题986. 区间列表的交集

    给定两个由一些 闭区间 组成的列表,每个区间列表都是成对不相交的,并且已经排序. 返回这两个区间列表的交集. (形式上,闭区间 [a, b](其中 a <= b)表示实数 x 的集合,而 a & ...

  4. 2022-2-16 Leetcode986.区间列表的交集

    一共分成三种情况来考虑 第一种情况 first 和 second 所在的区间有交集,但是不会超过 second 所在的区间,最终截取的区间段是两者的交集. 取完交集之后,是 first 向后移动一个, ...

  5. LeetCode 55跳跃游戏56合并区间57插入区间

    原创公众号:bigsai 希望和优秀的你做朋友,感觉不错还请一键三连. 回复进群即可加入和200+人一起打卡.上周打卡: LeetCode 47全排列Ⅱ&48旋转图像 LeetCode 49字 ...

  6. 【LeetCode】第599题——两个列表的最小索引总和(难度:简单)

    [LeetCode]第599题--两个列表的最小索引总和(难度:简单) 题目描述 解题思路 代码详解 注意点 题目描述 假设Andy和Doris想在晚餐时选择一家餐厅,并且他们都有一个表示最喜爱餐厅的 ...

  7. leetcode每日一题825. 适龄的朋友 快排+双指针

    本文目录 leetcode每日一题825. 适龄的朋友 快排+双指针 写在前面 题目 示例 提示 思路 代码实现 执行结果 写在后面 leetcode每日一题825. 适龄的朋友 快排+双指针 写在前 ...

  8. 求两个集合的差集代码_求求你了,不要再写循环求两个列表的交集,并集和差集了 | pythonic 小技巧...

    在 Python 中,求两个列表的交集,并集和差集是经常会遇到的需求,而且也比较简单. 最容易想到的就是写循环,对两个列表分别进行循环,然后判断元素是否在另一个列表中,求得最终结果. 但这种方法比较 ...

  9. 数据结构:求两个有序列表的交集,并集

    1.求两个有序列表的交集 LNode* Intersection(LNode* La,LNode* Lb) {if (La==NULL||Lb==NULL){return NULL;}LNode *p ...

最新文章

  1. Java控制语句——switch语句
  2. Linux Kernel TCP/IP Stack — L3 Layer — netfilter 框架
  3. yum 卸载php及依赖包,yum使用指南-软件卸载、安装、更新、获取软件包
  4. react native 生成APK
  5. localstorage存mysql_存储localstorage
  6. excel制作跨职能流程图_用Excel规划求解工具,实现组合投资优化
  7. bzoj 3394: [Usaco2009 Jan]Best Spot 最佳牧场(floyd)
  8. cxf打印报文日志_使用线程池实现异步打日志和存库的任务调度
  9. linux 默认组,系统自动创建的默认安全组和自己创建的安全组的默认规则
  10. Flink + TiDB,体验实时数仓之美
  11. Centos系统安装踩坑
  12. Shel脚本-初步入门之《04》
  13. 轻松教你苹果airdrop怎么用
  14. 如何更新谷歌chrome浏览器
  15. 哈曼推出Savari MECWAVE:超低时延边缘计算平台提供交钥匙式互联服务
  16. MATLAB中BLAS加载错误,找不到指定模块
  17. Windows+Anaconda+tensorflow+keras深度学习框架搭建--reproduced
  18. 猿圈 题库_小猿圈总结常见HTML5基础知识面试题汇总
  19. 爬取安居客租房详情+翻页
  20. SQL数据库——分组查询GROUP BY

热门文章

  1. 山东理工大学第十二届ACM程序设计竞赛 - Cut the tree(树上启发式合并+线段树)
  2. CodeForces - 1326D2 Prefix-Suffix Palindrome (Hard version)(马拉车/回文自动机)
  3. CodeForces - 722C Destroying Array(倒着并查集+离线处理)
  4. POJ - 1655 Balancing Act(树的重心)
  5. centos yum 安装java_Linux Centos 使用 yum 安装java
  6. uva1628 最优路径问题
  7. 调用 php_最全的PHP反序列化漏洞的理解和应用
  8. 感染性的木马病毒分析之样本KWSUpreport.exe
  9. 6.OD-Run trace /Hit trace
  10. 多线程学习(一)----CreateThread