leetcode 56. Merge Intervals
来源:互联网 发布:淘宝买游戏装备流程 编辑:程序博客网 时间:2024/06/08 15:30
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类型进行排序,在屡次失败之后,在别人的博客学到了,要自己重写Comparator,写好之后就是一个O(n)的线性复杂度的合并问题了
/** * 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.size()<=1)return intervals; Collections.sort(intervals,new IntervalComparator()); List<Interval> list = new ArrayList<Interval>(); Interval pre = intervals.get(0); for(int i=1;i<intervals.size();i++){ Interval cur = intervals.get(i); if(pre.end>=cur.start){ Interval merged = new Interval(pre.start,Math.max(pre.end,cur.end)); pre = merged; } else { list.add(pre); pre = cur; } } list.add(pre); return list; }}class IntervalComparator implements Comparator<Interval>{ public int compare(Interval a,Interval b){ return a.start - b.start; }}
阅读全文
0 0
- [LeetCode]56.Merge Intervals
- 56. Merge Intervals Leetcode
- LeetCode --- 56. Merge Intervals
- LeetCode 56.Merge Intervals
- [Leetcode] 56. Merge Intervals
- [leetcode] 56.Merge Intervals
- 【leetcode】56. Merge Intervals
- [leetcode] 56.Merge Intervals
- **LeetCode 56. Merge Intervals
- LeetCode 56. Merge Intervals
- leetcode 56. Merge Intervals
- 【LeetCode】56. Merge Intervals
- LeetCode 56. Merge Intervals
- 【leetcode】56. Merge Intervals
- leetcode 56. Merge Intervals
- leetcode.56. Merge Intervals
- [LeetCode] 56. Merge Intervals
- leetcode 56. Merge Intervals
- PHP大整数乘积
- Redis持久化 (17)
- 第一章安装OpenResty(Nginx+Lua)开发环境
- HDU 6027 Easy Summation (gcd)
- 17.7.3小结、【矩阵快速幂】2017武大校赛I题:A simple math problem即nyoj2333、 bzoj2326
- leetcode 56. Merge Intervals
- redisson client 介绍及优缺点 (18)
- 为什么大多数人的Facebook 付费广告都在亏钱?
- 3211: 花神游历各国
- Redis事务
- 利用递归求n的阶乘
- 第二章 OpenResty(Nginx+Lua)开发入门
- 架构师之路--视频业务介绍,离线服务架构和各种集群原理(1/2)
- 简单好玩的算法(二)