Merge Intervals
来源:互联网 发布:intent获取数据 编辑:程序博客网 时间:2024/06/07 21:43
题目:
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]
.
首先根据每个interval的第一个元素对interval进行排序
Collections.sort(intervals, new IntervalComparator());class IntervalComparator implements Comparator<Interval> {public int compare(Interval i1, Interval i2) {return i1.start - i2.start;}}
这里判断重合的条件主要是,当前interval的start小于前一个interval的end.....
否则不重合,直接将prev加入结果集中;最后。。。
参考代码:
http://www.programcreek.com/2012/12/leetcode-merge-intervals/
/** * 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) { if (intervals == null || intervals.size() <= 1)return intervals; // sort intervals by using self-defined ComparatorCollections.sort(intervals, new IntervalComparator()); List<Interval> result = new ArrayList<Interval>(); Interval prev = intervals.get(0);for (int i = 1; i < intervals.size(); i++) {Interval curr = intervals.get(i); if (prev.end >= curr.start) {// merged caseInterval merged = new Interval(prev.start, Math.max(prev.end, curr.end));prev = merged;} else {result.add(prev);prev = curr;}} result.add(prev); return result;}}class IntervalComparator implements Comparator<Interval> {public int compare(Interval i1, Interval i2) {return i1.start - i2.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
- 链表头结点存在的意义
- Win10 利用 easybcd 安装 Ubuntu 14.04
- classmethod demo
- opencv学习之一简单的图片显示
- 在VS2015中配置和测试DCMTK遇到的问题
- Merge Intervals
- android stdio中的project和module的概念
- 菜鸟的Linux历程-学习大纲
- 更改hive的日志级别
- C++ 中STL map 详解
- set用法小例
- 常见的数据结构的优缺点
- Star Schema完全参考手册读书笔记二
- 《深入理解Linux网络技术内幕》阅读笔记(十三)