LeetCode 56 Merge Intervals
2017-10-13 15:04
316 查看
原题:(频率5)
Given a collection of intervals, merge all overlapping intervals.
For example,
Given
return
题意:给一个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; }
* }
*/
class Solution {
public List<Interval> merge(List<Interval> intervals) {
if(intervals.size()<=1){
return intervals;
}
//按start大小排序
intervals.sort((i1, i2) -> Integer.compare(i1.start, i2.start));
List<Interval> result = new LinkedList<>();
int start = intervals.get(0).start;
int end = intervals.get(0).end;
for(Interval i:intervals){
if(i.start <= end){
end = Math.max(end,i.end);
}
else{
result.add(new Interval(start,end));
start = i.start;
end = i.end;
}
}
//因为循环中会漏加最后一组,这里加上
result.add(new Interval(start,end));
return result;
}
}
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].
题意:给一个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; }
* }
*/
class Solution {
public List<Interval> merge(List<Interval> intervals) {
if(intervals.size()<=1){
return intervals;
}
//按start大小排序
intervals.sort((i1, i2) -> Integer.compare(i1.start, i2.start));
List<Interval> result = new LinkedList<>();
int start = intervals.get(0).start;
int end = intervals.get(0).end;
for(Interval i:intervals){
if(i.start <= end){
end = Math.max(end,i.end);
}
else{
result.add(new Interval(start,end));
start = i.start;
end = i.end;
}
}
//因为循环中会漏加最后一组,这里加上
result.add(new Interval(start,end));
return result;
}
}
相关文章推荐
- LeetCode 56, Merge Intervals 从 TLE 到 AC
- LeetCode 56 Merge Intervals
- leetcode(56). Merge Intervals
- LeetCode56 Merge Intervals
- LeetCode-56-Merge Intervals Python自定义sort,贪心
- [LeetCode 56] Merge Intervals
- LeetCode - 56 - Merge Intervals
- Leetcode 56 Merge Intervals
- [leetcode-56]Merge Intervals(java)
- LeetCode_56---Merge Intervals
- [Leetcode 56, Hard] Merge intervals
- [Leetcode 84] 56 Merge Intervals
- LeetCode 56 Merge Intervals
- LeetCode 56 - Merge Intervals
- leetcodequestion_56 Merge Intervals
- leetcode || 56、 Merge Intervals
- leetCode 56, Merge Intervals
- LeetCode(56)Merge Intervals
- 【LeetCode】C# 56、Merge Intervals
- leetcodequestion_56 Merge Intervals