题解 | #合并区间#
合并区间
https://www.nowcoder.com/practice/69f4e5b7ad284a478777cb2a17fb5e6a
import java.util.*;
/*
* public class Interval {
* int start;
* int end;
* public Interval(int start, int end) {
* this.start = start;
* this.end = end;
* }
* }
*/
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param intervals Interval类ArrayList
* @return Interval类ArrayList
*/
public ArrayList<Interval> merge (ArrayList<Interval> intervals) {
if (intervals.isEmpty()) return intervals;
intervals.sort((v1, v2)-> v1.start - v2.start);
// write code here
ArrayList<Interval> res = new ArrayList<>();
int begin = intervals.get(0).start, end = intervals.get(0).end;
for (int i = 1; i < intervals.size(); i++) {
Interval interval = intervals.get(i);
if (end >= interval.start) {
end = Math.max(end, interval.end);
} else {
res.add(new Interval(begin, end));
begin = interval.start;
end = interval.end;
}
}
res.add(new Interval(begin, end));
return res;
}
}
