🍪🧁🍧

56.合并数组

先排序,再把intervas中的数组逐个与merged中的上一个数组比较要不要合并

/**
 * @param {number[][]} intervals
 * @return {number[][]}
 */
var merge = function(intervals) {
    if (intervals.length === 0) return []
    intervals.sort((a, b) => a[0] - b[0])
    const merged = [intervals[0]]
    for (let i = 1; i < intervals.length; i++) {
        const last = merged[merged.length - 1] //这样就不用像我写的那样while了
        if (intervals[i][0] <= last[1]) { 
            last[1] = Math.max(last[1], intervals[i][1]) 
        } else {
            merged.push(intervals[i])
        }
    }
    return merged
};
posted @ 2025-03-16 17:42  不想吃fun  阅读(8)  评论(0)    收藏  举报