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) { // write code here // write code here ArrayList<Interval> list = new ArrayList<>(); int n = intervals.size(); if (n == 0) return list; Collections.sort(intervals, new Comparator<Interval>(){ public int compare(Interval a1, Interval a2) { return a1.start - a2.start; } }); list.add(intervals.get(0)); for(int i = 1; i < n; i++) { Interval nums = list.get(list.size() - 1); if (intervals.get(i).start > nums.end) { list.add(intervals.get(i)); } else { nums.end = Math.max(nums.end, intervals.get(i).end); } } return list; } }