合并区间
合并区间
以数组 intervals
表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi]
。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间 。
示例 1:
1 | 输入:intervals = [[1,3],[2,6],[8,10],[15,18]] |
示例 2:
1 | 输入:intervals = [[1,4],[4,5]] |
提示:
1 <= intervals.length <= 104
intervals[i].length == 2
0 <= starti <= endi <= 104
重点讲一下java的自定义排序
Comparator
的工作原理
接口定义:
Comparator
接口定义了以下两个方法:1
2javaCopyEditint compare(T o1, T o2);
boolean equals(Object obj);compare(T o1, T o2)
:该方法用来比较两个对象o1
和o2
。它返回一个整数,表示o1
和o2
的排序顺序:- 如果返回负数 (
< 0
),表示o1
排在o2
前面; - 如果返回正数 (
> 0
),表示o1
排在o2
后面; - 如果返回 0,表示
o1
和o2
相等。
参数o1的下标小于参数o2,如果返回正数,两个数交换,如果返回负数两个数位置不变
- 如果返回负数 (
1 | class Solution { |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 面试资料!