视频讲解图解
代码
class Solution {
public int[][] merge(int[][] a) {
if(a == null || a.length < 2) return a;
// 排序, lambda 表达式写法
// Arrays.sort(a, (v1,v2)->(v1[0] - v2[0]));
Arrays.sort(a, Comparator.comparingInt(o -> o[0]));
List<int[]> result = new ArrayList();
int l = a[0][0], r = a[0][1];
for(int i = 1; i < a.length; i ++){
int[] tmp = new int[2];
if(r >= a[i][0]){
r = Math.max(r, a[i][1]);
}else{
tmp[0] = l;
tmp[1] = r;
result.add(tmp);
l = a[i][0];
r = a[i][1];
}
}
//保存最后一个区间
result.add(new int[]{l, r});
//转换成结果需要的二维数组形式
int n = result.size();
int[][] res = new int[n][2];
for(int i = 0; i < n; i++){
res[i] = result.get(i);
}
return res;
}
}
题解非常非常好,我很多时候写题解,就是词不达意,差那么点意思。一张图直接就能明白内涵。
哈哈, 大家好, 这是用ipad pro上的goodnotes写的笔记. 强烈推荐给大家~写字和平时纸质没有区别~
还有你这华为matepadpro作出图吗
大佬你的字是怎么写的这么好的
pad笔写的么?挺规整好看的
大佬这个图是用什么做的啊