[LeetCode]56 Merge Intervals
2015-01-04 08:34
393 查看
https://oj.leetcode.com/problems/merge-intervals/
http://blog.csdn.net/linhuanmars/article/details/21857617
http://blog.csdn.net/linhuanmars/article/details/21857617
/** * 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> inputIntervals) { // Sort List<Interval> intervals = new ArrayList<>(inputIntervals); Collections.sort(intervals, new Comparator<Interval>() { public int compare(Interval a, Interval b) { return Integer.compare(a.start, b.start); } }); int i = 0; while (i < intervals.size() - 1) { Interval a = intervals.get(i); Interval b = intervals.get(i + 1); if (overlap(a, b)) { merge(a, b); intervals.remove(i + 1); } else { i ++; } } return intervals; } private boolean overlap(Interval a, Interval b) { return !(a.start > b.end || b.start > a.end); } // Merge b into a. private void merge(Interval a, Interval b) { a.start = Math.min(a.start, b.start); a.end = Math.max(a.end, b.end); } }
相关文章推荐
- LeetCode - 56 - Merge Intervals
- LeetCode-56 Merge Intervals(合并区间)
- leetcode || 56、 Merge Intervals
- [leetcode-56]Merge Intervals(java)
- Leetcode 56 Merge Intervals
- 【LeetCode】C# 56、Merge Intervals
- LeetCode 56:Merge Intervals
- leetcode 56:Merge Intervals
- LeetCode56——Merge Intervals
- [Leetcode] #56 Merge Intervals
- leetcode[56]Merge Intervals
- [leetcode 56] Merge Intervals
- LeetCode56 Merge Intervals
- LeetCode-56-Merge Intervals(C语言实现)
- 【leetcode】Array—— Merge Intervals(56)
- LeetCode(56)Merge Intervals
- LeetCode_OJ【56】Merge Intervals
- LeetCode 56 Merge Intervals--In C++
- leetcode-56 Merge Intervals 合并区间
- leetcode 56: Merge Intervals