025_合并区间
知识点:区间、排序
LeetCode第五十六题:https://leetcode-cn.com/problems/merge-intervals/submissions/
区间问题,先排序(以start或者end为索引均可),然后观察规律。情况明了之后在着手写代码。
语言:GoLang
func merge(intervals [][]int) [][]int {
length := len(intervals)
if length < 2 {
return intervals
}
sort.Slice(intervals, func (i int, j int) bool {
return intervals[i][0] < intervals[j][0]
})
result := [][]int{intervals[0]}
for i := 1; i < length; i++ {
last := len(result) - 1
if result[last][1] >= intervals[i][0] {
result[last][1] = max(result[last][1], intervals[i][1])
} else {
result = append(result, intervals[i])
}
}
return result
}
func max(a int, b int) int {
if a > b {
return a
}
return b
}

浙公网安备 33010602011771号