题解 | #合并区间#
合并区间
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; } }