56. Merge Intervals
来源:互联网 发布:网络语碧莲是什么意思 编辑:程序博客网 时间:2024/05/18 12:01
Given a collection of intervals, merge all overlapping intervals.
For example,
Given [1,3],[2,6],[8,10],[15,18]
,
return [1,6],[8,10],[15,18]
.
思路:先将集合按照start的值从小到大排序, 然后依次比较当前元素的start和前面元素的end之间的大小关系,若不重合,则将前一个元素存起来.反之则更新当前元素的start和end值.
代码:
<span style="font-size:14px;">/** * Definition for an interval. * public class Interval { * int start; * int end; * Interval() { start = 0; end = 0; } * Interval(int s, int e) { start = s; end = e; } * } */public class Solution { public List<Interval> merge(List<Interval> intervals) { List<Interval> res=new ArrayList<Interval>(); if(intervals==null||intervals.size()==0) return res; Collections.sort(intervals,new Comparator<Interval>(){ public int compare(Interval l1,Interval l2){ return l1.start-l2.start; } }); int start; for(int i=1;i<intervals.size();i++){ Interval i1=intervals.get(i-1); Interval i2=intervals.get(i); if(i1.end>=i2.start){ i2.start=i1.start; if(i2.end<i1.end) i2.end=i1.end; } else res.add(i1); } res.add(intervals.get(intervals.size()-1)); return res; }}</span>
0 0
- [LeetCode]56.Merge Intervals
- 56. Merge Intervals Leetcode
- LeetCode --- 56. Merge Intervals
- LeetCode 56.Merge Intervals
- [Leetcode] 56. Merge Intervals
- [leetcode] 56.Merge Intervals
- 【leetcode】56. Merge Intervals
- 56. Merge Intervals
- [leetcode] 56.Merge Intervals
- 56. Merge Intervals
- **LeetCode 56. Merge Intervals
- LeetCode 56. Merge Intervals
- 56. Merge Intervals
- leetcode 56. Merge Intervals
- 【LeetCode】56. Merge Intervals
- LeetCode 56. Merge Intervals
- 56. Merge Intervals
- 【leetcode】56. Merge Intervals
- 欢迎使用CSDN-markdown编辑器
- MySQL5.6 InnoDB FULLTEXT Indexes研究测试
- CentOS上LAMP的安装
- MAC 安装 Magento2 community edition 详细步骤
- Kubernetes初探
- 56. Merge Intervals
- Javascript单例模式概念与实例
- CentOS下DNS搭建
- Visual Studio Emulator报错:Unable to add user to the Hyper-V Administrators group exit code 2220 的解决方法
- 第五周 斐波那契数列前n项
- vim替换、缩进、调整文本、查找(三)
- MD5算法分析及逆向详解
- Swift - 去除Xcode8控制台中多余的打印信息
- Java_继承、实现、依赖、关联、聚合、组合的联系与区别