Merge Intervals
来源:互联网 发布:喵咪看片软件最新版 编辑:程序博客网 时间:2024/06/06 19:56
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].
/** * 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; } * } */首先要实现intervals按照start排序,后一个start小于前一个end则合并。
public class Solution { public List<Interval> merge(List<Interval> intervals) { if(intervals==null||intervals.size()<=1) return intervals; ArrayList<Interval> at=new ArrayList<Interval>(); Collections.sort(intervals,new implementComparator()); Interval pre=intervals.get(0); for(int i=1;i<intervals.size();i++){ Interval cur=intervals.get(i); if(cur.start<=pre.end) pre.end=Math.max(cur.end,pre.end); else{ at.add(pre); pre=cur; } } at.add(pre); return at; }}//实现Comparator接口,其中必须有compare方法class implementComparator implements Comparator<Interval>{ public int compare(Interval t1,Interval t2){ return t1.start-t2.start; }}
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
- lr函数--web_get_int_property(记录HTTP响应信息)
- Scala详解---------继承深入
- iOS UISwitch和UITextField 的监听
- 并查集应用hdu1198
- 最小风险贝叶斯决策
- Merge Intervals
- Leetcode 18 4Sum
- 8款样式新颖的jQueryCSS3网页菜单
- CentOS 7 运行级别的切换
- poj 2386 Lake Counting(深搜)
- greedy algorithm DEMO
- mac eclipse实用快捷键总结
- Ext.Msg.QUESTION、Ext.Msg.WARNING---ExtJS学习------Ext.Msg.show()学习
- 【Java并发编程实战】-----线程基本概念