按照第一个数字升序排序, 然后合

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class Solution {
/**
* 按照第一个数字升序排序, 然后合
*/
public int[][] merge(int[][] intervals) {
Arrays.sort(intervals, (p, q) -> p[0] - q[0]);
List<int[]> ans = new ArrayList<>();
int[] last = new int[]{intervals[0][0], intervals[0][1]};
for (int i = 1; i < intervals.length; i++) {
if (intervals[i][0] <= last[1]) {
last[1] = Math.max(intervals[i][1], last[1]);
} else {
ans.add(last);
last = intervals[i];
}
}
ans.add(last);
return ans.toArray(new int[ans.size()][]);
}
}

Comments
Recent Posts
Untitled
Categories
Tags
Website Info
Article Count :
2
Total Word Count :
1.6k
Unique Visitors :
Page Views :
Last Update :