[LeetCode 56] Merge Intervals
2015-03-25 09:22
441 查看
题目链接:merge-intervals
import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; /** * 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]. * */ public class MergeIntervals { static class Interval { int start; int end; Interval() { start = 0; end = 0; } Interval(int s, int e) { start = s; end = e; } } // 168 / 168 test cases passed. // Status: Accepted // Runtime: 326 ms // Submitted: 1 minute ago static List<Interval> merge(List<Interval> intervals) { List<Interval> mergeIntervals = new ArrayList<Interval>(); if(intervals.size() == 0) return mergeIntervals; Collections.sort(intervals, new Comparator<Interval>() { public int compare(Interval int1, Interval int2) { return int1.start - int2.start; } }); Interval preInterval = intervals.remove(0); for (Interval interval : intervals) { if (preInterval.end < interval.start) { mergeIntervals.add(preInterval); preInterval = interval; } else { if(preInterval.end < interval.end) preInterval.end = interval.end; } } mergeIntervals.add(preInterval); return mergeIntervals; } public static void main(String[] args) { Interval i1 = new Interval(2, 6); Interval i2 = new Interval(1, 3); Interval i3 = new Interval(8, 10); Interval i4 = new Interval(15, 18); List<Interval> intervals = new ArrayList<Interval>(); intervals.add(i1); intervals.add(i2); intervals.add(i3); intervals.add(i4); merge(intervals); } }
相关文章推荐
- leetcodequestion_56 Merge Intervals
- LeetCode 56 Merge Intervals(Python实现及详解)
- [Java]leetcode56 Merge Intervals
- Leetcode 56 Merge Intervals
- LeetCode-56-Merge Intervals Python自定义sort,贪心
- 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
- Leetcode56 Merge Intervals
- LeetCode 56 --- Merge Intervals
- LeetCode 56, Merge Intervals 从 TLE 到 AC
- [leetcode 56] Merge Intervals
- LeetCode 56 Merge Intervals
- leetcode[56]Merge Intervals
- LeetCode - 56 - Merge Intervals
- LeetCode-56 Merge Intervals(合并区间)