首页 > 编程语言 > 详细

合并区间(二维数组与列表的转换)

时间:2020-02-17 17:59:24      阅读:75      评论:0      收藏:0      [点我收藏+]
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]);

合并区间(二维数组与列表的转换)

原文:https://www.cnblogs.com/lvoooop/p/12322758.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!