4 1 3 2 6 8 10 9 12
[1, 6] [8, 12]
static int[][] mergeIntervals(int[][] a){if(a.length==0) return new int[0][0];java.util.Arrays.sort(a,(x,y)->Integer.compare(x[0],y[0]));java.util.ArrayList<int[]> res=new java.util.ArrayList<>();int s=a[0][0],e=a[0][1];for(int i=1;i<a.length;i++){if(a[i][0]<=e){if(a[i][1]>e) e=a[i][1];}else{res.add(new int[]{s,e});s=a[i][0];e=a[i][1];}}res.add(new int[]{s,e});return res.toArray(new int[0][]);}
static int[][] mergeIntervals(int[][] a){if(a.length==0) return new int[0][0];java.util.Arrays.sort(a,(x,y)->Integer.compare(x[0],y[0]));java.util.ArrayList<int[]> res=new java.util.ArrayList<>();int s=a[0][0],e=a[0][1];for(int i=1;i<a.length;i++){if(a[i][0]<=e){if(a[i][1]>e) e=a[i][1];}else{res.add(new int[]{s,e});s=a[i][0];e=a[i][1];}}res.add(new int[]{s,e});return res.toArray(new int[0][]);}