心得:创建一个新数组,把第一条记录填进去,不断合并比较
感觉不是很满意,后面继续需改。
class Solution { public int[][] merge(int[][] intervals) { ArrayList<int[]> list=new ArrayList<>(); if(intervals==null||intervals.length==0) return new int[0][0]; // LinkedList<int[]> list=new LinkedList<>(); Arrays.sort(intervals,new Comparator<int[]>() { @Override public int compare(int[] a,int[] b) { return a[0]-b[0]; } }); list.add(intervals[0]); for(int i=1;i<intervals.length;i++) { if(intervals[i][0]<=list.get(list.size()-1)[1]) { if(intervals[i][1]>=list.get(list.size()-1)[1]) list.get(list.size()-1)[1]=intervals[i][1]; } else list.add(intervals[i]); } int[][] arr=new int[list.size()][2]; for(int i=0;i<list.size();i++) { arr[i][0]=list.get(i)[0]; arr[i][1]=list.get(i)[1]; } return arr; } }