Merge Interval (two-dimensional array with the list of conversion)

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]);

Guess you like

Origin www.cnblogs.com/lvoooop/p/12322758.html