[[1,3],[2,6],[15,18],[8,10]],按照每个item数组的第一项排序为[[1,3],[2,6],[8,10]],[15,18]
然后就是就是便利数组,[1,3]为首项,和[2,6],因为3 < 6,说明有重叠了,于是和二为一
var merge = function (arr) {
if (arr == null || !arr.length) {
return arr;
}
arr.sort((a, b) => {
return a[0] - b[0];
});
var res = [];
var i = 0;
while (i < arr.length) {
var cur = [arr[i][0], arr[i][1]];
var j = i + 1;
while (j < arr.length && arr[j][0] <= cur[1]) {
cur[1] = Math.max(cur[1], arr[j][1]);
j++;
}
res.push(cur);
i = j;
}
return res;
};