leetcode56. Merge Intervals
来源:互联网 发布:qt保存数据到文件 编辑:程序博客网 时间:2024/06/06 10:39
56. Merge Intervals
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时,两个区间进行合并,end取两个区间的end最大值,直到下一个区间的start比上一个区间的end大时,输出上述合并的区间。如果下一个区间的start比上一个区间的end大时,更新start和end,继续遍历下去。
/** * 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> ret = new ArrayList<Interval>(); if (intervals == null || intervals.size() <= 1) { return intervals; } Collections.sort(intervals, new Comparator<Interval>() { @Override public int compare(Interval o1, Interval o2) { return o1.start - o2.start; } }); int start = intervals.get(0).start; int end = intervals.get(0).end; for (int i = 1; i < intervals.size(); i++) { Interval interval = intervals.get(i); if (interval.start <= end) { end = Math.max(interval.end, end); } else { ret.add(new Interval(start, end)); start = interval.start; end = interval.end; } } ret.add(new Interval(start, end)); return ret; }}
1 0
- Leetcode56 Merge Intervals
- [Java]leetcode56 Merge Intervals
- leetcode56. Merge Intervals
- leetcode56,58 intervals merge
- Leetcode56. Merge Intervals
- LeetCode56. Merge Intervals
- LeetCode56——Merge Intervals
- 算法设计与分析HW7:LeetCode56.Merge Intervals
- leetcode56&57_Merge Intervals&Insert Interval
- Merge Intervals
- Merge Intervals
- Merge Intervals
- Merge Intervals
- Merge Intervals
- Merge Intervals
- Merge Intervals
- Merge Intervals
- merge intervals
- freemarker.properties的属性文件的配置说明
- iOS性能优化 instruments
- Python __getattr__ __getattribute__
- keras中查看各类版本号
- Hibernate 入门------简单的CRUD
- leetcode56. Merge Intervals
- mysql 5.7新数据库sys解析
- bs4.FeatureNotFound: Couldn't find a tree builder with the features you requested: lxml
- TensorFlow 图像数据预处理及可视化
- 导入ssh项目到myeclipse(最新最详细)
- Android PopupWindow类
- 快速击键系统Quickhit
- pandas 索引选取和过滤(四)
- 虚拟机VMare12安装Ubuntu16.04