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
};