57. 插入区间
- 题号:57
- 来源:LeetCode
- 难度:中等
- 标签:
排序区间数组 - 语言:TypeScript
- 解法:1 个
- 作者:lmliheng
- 最近更新:2026-09-27
TypeScript · O(n*log n) 时间 · O(n) 空间 · 更新于 2026-09-27
新区间追加后排序,复用合并区间逻辑
typescript
/**
* @difficulty medium
* @tags 排序,区间,数组
* @time O(n*log n)
* @space O(n)
* @note 新区间追加后排序,复用合并区间逻辑
*/
var insert = function (intervals: number[][], newInterval: number[]) {
intervals.push(newInterval)
return merge(intervals)
};
var merge = function (intervals: number[][]) {
let sortIntervals = intervals.sort((a, b) => a[0] - b[0])
let res: number[][] = []
sortIntervals.forEach((item, index) => {
if (index === 0) {
res.push(item)
}
if (res[res.length - 1][1] < item[0]) {
res.push(item)
}
if (item[0] <= res[res.length - 1][1]) {
res[res.length - 1][1] = Math.max(res[res.length - 1][1], item[1])
}
})
return res
};在 GitHub 上查看题目所在目录:lmliheng/algorithm