区间合并
https://leetcode.cn/problems/merge-intervals/
func merge(intervals [][]int) [][]int { sort.Slice(intervals, func(i, j int) bool { return intervals[i][0]<intervals[j][0] //自定义排序,<表示从小到大排序,>表示从大到小排序 }) ans:=make([][]int,0) le:=intervals[0][0] //初始化左右指针 ri:=intervals[0][1] for i:=range intervals{ now:=intervals[i] if now[0]<=ri&& now[1]>ri{ //当前区间的左指针大于维护区间的右指针,并且当前区间的右指针大于维护区间的右指针 ri=now[1] }else if now[0]>ri{ //区间不连续的情况 ans=append(ans,[]int{le,ri}) le=now[0] ri=now[1] } } ans=append(ans,[]int{le,ri}) return ans }
等风起的那一天,我已准备好一切