Merge Intervals
合并区间
代码
第一次遇见这种Intervals 不是很能懂
public class Solution {
public List<Interval> merge(List<Interval> intervals) {
int N = intervals.size();
Collections.sort(intervals, new Comparator<Interval>(){
public int compare(Interval i, Interval j){
return i.end - j.end;
}
});
for(int i = N-1; i>0;i--){
Interval inter1 = intervals.get(i-1);
Interval inter2 = intervals.get(i);
if(inter1.end >= inter2.start){
inter1.start = Math.min(inter1.start, inter2.start);
inter1.end = inter2.end; //inter1.end is always smaller than inter2.end because of the sort, so no need to use Math.max()
intervals.remove(i);
}
}
return intervals;
}
}