JAVA---Merge Intervals
2016-04-08 14:03
429 查看
Given a collection of intervals, merge all overlapping intervals.
Given intervals => merged intervals:
[ [
[1, 3], [1, 6],
[2, 6], => [8, 10],
[8, 10], [15, 18]
[15, 18] ]
]
Given intervals => merged intervals:
[ [
[1, 3], [1, 6],
[2, 6], => [8, 10],
[8, 10], [15, 18]
[15, 18] ]
]
/** * Definition of Interval: * public class Interval { * int start, end; * Interval(int start, int end) { * this.start = start; * this.end = end; * } */ class Solution { /** * @param intervals: Sorted interval list. * @return: A new sorted interval list. */ public List<Interval> merge(List<Interval> intervals) { // write your code here if (intervals == null || intervals.size() <= 1) { return intervals; } Collections.sort(intervals, new IntervalComparator()); ArrayList<Interval> result = new ArrayList<Interval>(); Interval last = intervals.get(0); for (int i = 1; i < intervals.size(); i++) { Interval curt = intervals.get(i); if (curt.start <= last.end ){ last.end = Math.max(last.end, curt.end); }else{ result.add(last); last = curt; } } result.add(last); return result; } private class IntervalComparator implements Comparator<Interval> { public int compare(Interval a, Interval b) { return a.start - b.start; } } }
相关文章推荐
- Java中String类型变量初值为null时的连接问题
- Spring与Spring MVC事务配置及对比
- SpringMvc -上传文件
- Java 基础瀑图
- Spring mvc实现动态多数据源
- JAVA堆和栈的区别
- Eclipse快捷键
- java io流详解
- Java基础学习第七天——面向对象常见概念
- Java中的泛型
- Java学习笔记(01)--基本类型
- Java异常处理:java.lang.ClassCastException: JSON keys must be strings
- scrollview 滑动到指定位置,在java代码中设置控件自适应
- Java基础学习第六天——二维数组与面向对象入门
- Spring事件驱动
- Java IO:FileInputStream和FileOutputStream使用详解及源码分析
- java-eclipse-创建maven项目
- Springmvc精简教程(1)
- java语法小结5
- Java volatile,transient关键字使用小记