2
public int[][] merge(int[][] intervals) {4
// unknown size of ans = use ArrayList7
// start of new interval is less that end of old interval8
// new end = Math.max(new intervals end, old intervals end)9
// case 2 : Non-merging11
// convert ArrayList to array and return13
Arrays.sort(intervals, (a, b) -> a[0] - b[0]);14
ArrayList<int[]> list = new ArrayList<>();15
for (int i = 0; i < intervals.length; i++) {17
list.add(intervals[i]);19
int[] prev = list.get(list.size() - 1);20
int[] curr = intervals[i];21
if (curr[0] <= prev[1]) {22
prev[1] = Math.max(curr[1], prev[1]);28
return list.toArray(new int[list.size()][2]);