zoukankan      html  css  js  c++  java
  • 合并区间(二维数组与列表的转换)

    public int[][] merge(int[][] intervals) {
            ArrayList<int[]> res = new ArrayList<>();
            if (intervals.length<2)return intervals;
         //重写排序规则    返回值为负则表示参数a<参数b,为正则反之
    Arrays.sort(intervals,
    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]); }

    利用list.toArray(T[] a)方法

    例如:

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

  • 相关阅读:
    设计模式之三:Abstract Factory(转)
    设计模式之二:adapter模式(转)
    设计模式之一:设计原则(转)
    双链表操作
    单链表操作
    C#-Activex插件操作指南
    积分源码上线
    換友情鏈接
    企业短信群发
    掉了,全掉了。
  • 原文地址:https://www.cnblogs.com/lvoooop/p/12322758.html
Copyright © 2011-2022 走看看