Merge Intervals
来源:互联网 发布:源码能不能用微信建站 编辑:程序博客网 时间:2024/04/29 13:27
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]
.
思路:主要注意comparator怎么写,还有新建一个interval的时候,要同时算两个interval的最小和最大。
list的时候,要用collections.sort
array的时候,要用 Arrays.sort
/** * 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> list = new ArrayList<Interval>(); if(intervals == null || intervals.size() == 0) return list; Collections.sort(intervals, new Comparator<Interval>(){ @Override public int compare(Interval a, Interval b){ return a.start - b.start; } }); Interval begin = intervals.get(0); for(int i=1; i<intervals.size(); i++){ Interval temp = intervals.get(i); if(begin.end >= temp.start){ begin = new Interval(Math.min(begin.start, temp.start), Math.max(begin.end, temp.end)); } else { // begin.end < temp.start; list.add(begin); begin = temp; } } list.add(begin); return list; }}
0 0
- Merge Intervals
- Merge Intervals
- Merge Intervals
- Merge Intervals
- Merge Intervals
- Merge Intervals
- Merge Intervals
- Merge Intervals
- merge intervals
- Merge Intervals
- Merge Intervals
- Merge Intervals
- Merge Intervals
- Merge Intervals
- Merge Intervals
- Merge Intervals
- Merge Intervals
- Merge Intervals
- Hive1 HIVE QL
- 总结2013,展望2014
- 默默流泪
- SQL 翻页查询
- SQLite从Excel文件中导入数据
- Merge Intervals
- EBS OAF开发中的弹性域(Flexfields)(一)-描述性弹性域
- JS中创建对象的方式
- xcode工程间的引用,iOS静态库
- 飞机注册号
- Spring MVC 教程,快速入门,深入分析
- 用 PS 下载 FTP 服务器的文件
- iOS开发之html解析(转)
- iOS网络编程:网络交互数据格式解析之json