56.合并区间
/**
* @param {number[][]} intervals
* @return {number[][]}
*/
var merge = function (intervals) {
// 先按左区间排序
intervals.sort((a, b) => a[0] - b[0])
let res = []
res.push(intervals[0])
for (let i = 1; i < intervals.length; i++) {
let lastRight = res[res.length - 1][1] // 上一个右区间
let left = intervals[i][0] // 左区间
let right = intervals[i][1] //
if (lastRight >= left) { // 说明区间重复
// 修改右区间,注意取lastRright和right的最大值
res[res.length - 1][1] = Math.max(lastRight, right)
} else {
res.push(intervals[i])
}
}
return res
};