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