描述
给出一组区间,请合并所有重叠的区间。
请保证合并后的区间按区间起点升序排列。
题目解法:用一个新的可变数组存储新生成的数据即可。
public class Solution {
public ArrayList<Interval> merge(ArrayList<Interval> intervals) {
Collections.sort(intervals,new Comparator<Interval>()
{
public int compare(Interval a,Interval b){
return a.start-b.start;
}
});
if(intervals.size()==0) return new ArrayList<>();
ArrayList<Interval> list=new ArrayList<>();
list.add(intervals.get(0));
for(int i=1;i<intervals.size();i++)
{
if(list.get(list.size()-1).end>=intervals.get(i).start)
{
list.get(list.size()-1).end=Math.max(list.get(list.size()-1).end,intervals.get(i).end);
continue;
}
list.add(intervals.get(i));
}
return list;
}
}