mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-09 11:34:46 +08:00
更新 0056.合并区间 go版本(优化空间复杂度,不开辟新数组)
更新 0056.合并区间 go版本(优化空间复杂度,不开辟新数组)
This commit is contained in:
@ -176,29 +176,26 @@ class Solution:
|
|||||||
```
|
```
|
||||||
|
|
||||||
Go:
|
Go:
|
||||||
```Go
|
```golang
|
||||||
func merge(intervals [][]int) [][]int {
|
func merge(intervals [][]int) [][]int {
|
||||||
sort.Slice(intervals, func(i, j int) bool {
|
//先从小到大排序
|
||||||
|
sort.Slice(intervals,func(i,j int)bool{
|
||||||
return intervals[i][0]<intervals[j][0]
|
return intervals[i][0]<intervals[j][0]
|
||||||
})
|
})
|
||||||
|
//再弄重复的
|
||||||
res:=[][]int{}
|
for i:=0;i<len(intervals)-1;i++{
|
||||||
prev:=intervals[0]
|
if intervals[i][1]>=intervals[i+1][0]{
|
||||||
|
intervals[i][1]=max(intervals[i][1],intervals[i+1][1])//赋值最大值
|
||||||
for i:=1;i<len(intervals);i++{
|
intervals=append(intervals[:i+1],intervals[i+2:]...)
|
||||||
cur :=intervals[i]
|
i--
|
||||||
if prev[1]<cur[0]{
|
|
||||||
res=append(res,prev)
|
|
||||||
prev=cur
|
|
||||||
}else {
|
|
||||||
prev[1]=max(prev[1],cur[1])
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
res=append(res,prev)
|
return intervals
|
||||||
return res
|
|
||||||
}
|
}
|
||||||
func max(a, b int) int {
|
func max(a,b int)int{
|
||||||
if a > b { return a }
|
if a>b{
|
||||||
|
return a
|
||||||
|
}
|
||||||
return b
|
return b
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
Reference in New Issue
Block a user