import java.util.*;
/**
* 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 ArrayList<Interval> merge(ArrayList<Interval> intervals) {
ArrayList<Interval> list = new ArrayList<>();
if(intervals.size() == 0)
return list;
Collections.sort(intervals, new Comparator<Interval>(){
public int compare(Interval o1, Interval o2){
if(o1.start != o2.start)
return o1.start - o2.start;
else
return o1.end - o2.end;
}
});
list.add(intervals.get(0));
int count = 0;
for(int i = 1; i < intervals.size(); i++){
Interval interval1 = intervals.get(i);
Interval interval2 = list.get(count);
if(interval1.start <= interval2.end){
list.remove(count);
Interval newO = new Interval(interval2.start, interval1.end);
if(newO.end < interval2.end)
newO.end = interval2.end;
list.add(newO);
}else{
list.add(interval1);
count++;
}
}
return list;
}
}
牛客-TOP101-BM89
最新推荐文章于 2024-07-27 17:56:15 发布