public int[][] merge(int[][] intervals) { The ArrayList < int []> = RES new new the ArrayList <> (); IF (intervals.length <2) return Intervals; // rewrite collation negative return value is a parameter indicating a <parameter b, is positive and vice versa
Arrays.sort (Intervals, new new Comparator < int []> () { public int Compare ( int [] A, int [] B) { IF (A [0] == B [0 ]) { return A [. 1] - B [ 1 ]; }else { return a[0] - b[0]; } } }); for (int i = 1; i < intervals.length; i++) { if (intervals[i][0]<=intervals[i-1][1]){ intervals [i][0]=intervals[i-1][0]; intervals [i][1]=Math.max(intervals[i][1],intervals[i-1][1]); intervals[i-1]= null; } } int i = 0; for (int[] a:intervals) { if (a!=null) res.add(a); } return res.toArray(new int[0][0]); }
Using list.toArray (T [] a) Method
E.g:
List<double[]>转double[][]
List<double[]>list=new ArrayList<double[]>();
list.add(new double[]{10.0,12.0});
list.add(new double[]{11.0,32.0});
double[][]result=list.toArray(new double[0][0]);