package main
import . "nc_tools"
import "sort"
/*
* type Interval struct {
* Start int
* End int
* }
*/
/**
*
* @param intervals Interval类一维数组
* @return Interval类一维数组
*/
func merge( intervals []*Interval ) []*Interval {
if len(intervals)<2{return intervals}
sort.Slice(intervals,func(i, j int) bool{
if intervals[i].Start==intervals[j].Start{
return intervals[i].End<intervals[j].End
}
return intervals[i].Start<intervals[j].Start
})
result:=[]*Interval{intervals[0]}
for i:=1;i<len(intervals);i++{
if intervals[i].Start>result[len(result)-1].End{
result=append(result, intervals[i])
}else{
if intervals[i].End>result[len(result)-1].End{
result[len(result)-1].End=intervals[i].End
}
}
}
return result
}