1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| class Solution { public int[][] merge(int[][] intervals) { Arrays.sort(intervals, (a, b) -> a[0] - b[0]); List<int[]> ans = new ArrayList<>(); ans.add(intervals[0]); for (int i = 1; i < intervals.length; ++i) { int start = intervals[i][0], end = intervals[i][1]; if (ans.get(ans.size() - 1)[1] < start) { ans.add(intervals[i]); } else { ans.get(ans.size() - 1)[1] = Math.max(ans.get(ans.size() - 1)[1], end); } } return ans.toArray(new int[ans.size()][]); } }
|