1 回答

TA贡献1828条经验 获得超4个赞
function merge(intervals) {
intervals.sort(function(a, b) {
if (a[0] !== b[0])
return a[0] - b[0];
return a[1] - b[1];
});
var len = intervals.length,
ans = [],
start, end;
for (var i = 0; i < len; i++) {
var s = intervals[i][0],
e = intervals[i][1];
if (start === undefined)
start = s, end = e;
else if (s <= end)
end = Math.max(e, end);
else {
var part = [start, end];
ans.push(part);
start = s;
end = e;
}
}
if (start !== undefined) {
var part = [start, end];
ans.push(part);
}
return ans;
};
var arr = [
[1, 100],
[50, 200],
[300, 400]
]
console.log(merge(arr))
添加回答
举报