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