题解 | #合并区间#
合并区间
https://www.nowcoder.com/practice/69f4e5b7ad284a478777cb2a17fb5e6a
public class Solution {
public ArrayList<Interval> merge(ArrayList<Interval> intervals) {
ArrayList<Interval> res = new ArrayList<>();
if(intervals.size()==0) return intervals;
Collections.sort(intervals,(Interval a,Interval b)->(a.start-b.start));
res.add(intervals.get(0));
for(int i=1;i<intervals.size();i++){
Interval tmp = res.get(res.size()-1);
if(tmp.start<=intervals.get(i).end && tmp.end>=intervals.get(i).start){
res.remove(res.size()-1);
res.add(new Interval(Math.min(tmp.start,intervals.get(i).start),Math.max(tmp.end,intervals.get(i).end)));
}else{
res.add(intervals.get(i));
}
}
return res;
}
}

