题解 | #合并区间#
合并区间
https://www.nowcoder.com/practice/69f4e5b7ad284a478777cb2a17fb5e6a
import java.util.*;
/**
* Definition for an interval.
* public class Interval {
* int start;
* int end;
* Interval() { start = 0; end = 0; }
* Interval(int s, int e) { start = s; end = e; }
* }
*/
public class Solution {
public ArrayList<Interval> merge(ArrayList<Interval> intervals) {
if (intervals == null) {
return new ArrayList<>();
}
intervals.sort((o1, o2) -> o1.start - o2.start);
ArrayList<Interval> result = new ArrayList<>();
for (Interval interval : intervals) {
int resSize = result.size();
if (resSize > 0) {
Interval res = result.get(resSize - 1);
if (res.end >= interval.start) {
res.end = Math.max(interval.end, res.end);
continue;
}
}
result.add(interval);
}
return result;
}
}
查看8道真题和解析