代码:
class Solution {
public int[][] merge(int[][] intervals) {
if(intervals.length==0){
return new int[0][2];
}else if(intervals.length==1){
return intervals;
}
int n = intervals.length;
Arrays.sort(intervals, new Comparator<int[]>(){
public int compare(int[] interval1, int[] interval2){
return interval1[0] - interval2[0];
}
});
List<int[]> list = new ArrayList<int[]>();
int left = intervals[0][0];
int right = intervals[0][1];
for(int i=1;i<n;i++){
if(intervals[i][0]>right){
int[] interval = {left,right};
list.add(interval);
left = intervals[i][0];
right = intervals[i][1];
}else{
right = Math.max(right,intervals[i][1]);
}
if(i==n-1){
right = Math.max(right,intervals[i][1]);
int[] interval = {left,right};
list.add(interval);
}
}
return list.toArray(new int[list.size()][]);
}
}
新学的 Arrays.sort
Arrays.sort(arr, new Comparator<String>() {
@Override
public int compare(Xxxx x1, Xxxx x2) {
//想按什么排
}
});