lc-go/solutions/0/q56/solution.go
2026-01-07 18:04:39 +09:00

20 lines
450 B
Go

package q56
import "slices"
func merge(intervals [][]int) [][]int {
slices.SortFunc(intervals, func(a, b []int) int { return a[0] - b[0] })
p := 0
for i := 1; i < len(intervals); i++ {
if intervals[p][1] >= intervals[i][0] {
intervals[p][1] = max(intervals[p][1], intervals[i][1])
} else {
p++
intervals[p][0], intervals[p][1] = intervals[i][0], intervals[i][1]
}
}
return intervals[:min(p+1, len(intervals))]
}
var _ = merge