合并区间
题目链接
解题目思路
这题先排序,然后再去判断区间是否有交集,有交集就合并
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] }
|