436. 寻找右区间
- 题号:436
- 来源:LeetCode
- 难度:中等
- 标签:
数组区间 - 语言:TypeScript
- 解法:1 个
- 作者:lmliheng
- 最近更新:2026-09-27
TypeScript · O(n^2) 时间 · O(n) 空间 · 更新于 2026-09-27
双重扫描找最小的 start 不小于 end 的区间
typescript
/**
* @difficulty medium
* @tags 数组,区间
* @time O(n^2)
* @space O(n)
* @note 双重扫描找最小的 start 不小于 end 的区间
* @436. 寻找右区间
*/
let intervals = [[1,1],[3,4]]
let res: number[] = []
for (let i = 0; i < intervals.length; i++) {
let minIndex: number | undefined
let r = intervals[i][1]
// 本身也算
if(intervals[i][0]===intervals[i][1]){
res.push(i)
continue
}
intervals.map((item, index) => {
if (index !== i && item[0] >= r) {
if (minIndex !== undefined) {
if (item[0] - r < intervals[minIndex][0] - r) {
minIndex = index
}
} else {
minIndex = index
}
}
})
if (minIndex !== undefined) {
res.push(minIndex)
} else {
res.push(-1)
}
}
console.log(res)在 GitHub 上查看题目所在目录:lmliheng/algorithm