LeetCode 56. 合并区间
题目描述
✅ 56. 合并区间
思路分析
🔄 按区间起始位置升序排序
参考代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
func merge(intervals [][]int) [][]int {
if len(intervals) <= 1 {
return intervals
}
// 按照区间的起始值进行排序
sort.Slice(intervals, func(i, j int) bool {
return intervals[i][0] < intervals[j][0]
})
var res [][]int
res = append(res, intervals[0])
for _, cur := range intervals[1:] {
pre := res[len(res)-1]
if cur[0] > pre[1] {
// 当前区间不重叠,直接添加
res = append(res, cur)
} else {
// 当前区间重叠,合并
pre[1] = max(pre[1], cur[1])
}
}
return res
}
1
write your code here
相似题目
本文作者:
HGNULB
版权声明:
本博客所有文章除特别声明外,均采用
CC BY-NC-SA 4.0
许可协议,转载请注明出处!