合并区间

题目链接

解题目思路

这题先排序,然后再去判断区间是否有交集,有交集就合并

go语言思路

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
func merge(intervals [][]int) [][]int {

if len(intervals) == 0 {
return intervals
}
sort.Slice(intervals, func(i, j int) bool {
return intervals[i][0] < intervals[j][0]
})
start := 0
for i := 1; i < len(intervals); i++ {
fmt.Println(intervals[start][1] >= intervals[i][0])
if intervals[start][1] < intervals[i][0] {
if start != i {
start++
copy(intervals[start], intervals[i])
}
continue
}
if intervals[start][1] < intervals[i][1] {
intervals[start][1] = intervals[i][1]
}
}
return intervals[:start+1]
}