題目鏈接:https://leetcode.com/problems/merge-intervals/
思路:排序後,遍歷一遍數組操作
import "sort"
type myvalue2 [][]int
func (p myvalue2) Len() int {
return len(p)
}
func (p myvalue2) Less(i, j int) bool {
if p[i][0] == p[j][0]{
return p[i][1] < p[j][1]
}
return p[i][0] < p[j][0]
}
func (p myvalue2) Swap(i, j int) {
p[i], p[j] = p[j], p[i]
}
func merge(intervals [][]int) [][]int {
sort.Sort(myvalue2(intervals))
res := [][]int{}
for _, v := range intervals{
if len(res) == 0 || v[0] > res[len(res)-1][1]{
res = append(res, v)
}else if v[1] > res[len(res)-1][1]{
res[len(res)-1][1] = v[1]
}
}
return res
}