LC56. Merge Intervals

思路:

会出现的情况:

相交:[0, 4] [2, 3]; [0, 3] [1,4]

不相交

先将所有数组进行排列,按照start的值从小到大排,如果start相等,按照end的值从小到大排

所以if 不相交, 即interval.end < interval2.start; 进行list.add(interval), interval = interval2

else就是相交的两种情况interval.end > interval2.end & interval.end > interval2.start 但< interval2.end

进行new interval(start = interval.start, end = Math.max(interval2.end, interval.end)

list.add(interval)

时间复杂度:排序是binarysearchO(nlogn), 遍历是O(n),所以时间复杂度是O(nlogn),空间复杂度O(1)

知识点:

http://www.cnblogs.com/duange/p/6135943.html

Comparable和camparator compareTo:

comparator的compare会告诉代码怎么排序

Collections.sort用法:Collections.sort(list, new Comparator<Dog>)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 14,364评论 0 33
  • java笔记第一天 == 和 equals ==比较的比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量...
    jmychou阅读 5,464评论 0 3
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,281评论 19 139
  • ``` /* * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject ...
    非专业码农阅读 2,773评论 0 0
  • 文/孙亮 夏夜还未来临 心却悄悄的冷去 浑身的汗珠 像极了飞速的冻雨 耳边划过的蝉鸣 不知从哪里来 又迅速的消失在...
    朦胧诗人孙亮阅读 1,950评论 1 1

友情链接更多精彩内容