From 992ef648f60c8f1910c5dafabfbec1f6db5dcbad Mon Sep 17 00:00:00 2001 From: Yuhao Ju Date: Sat, 17 Dec 2022 14:31:46 +0800 Subject: [PATCH] =?UTF-8?q?update=200056.=E5=90=88=E5=B9=B6=E5=8C=BA?= =?UTF-8?q?=E9=97=B4:=20=E6=9B=BF=E6=8D=A2=20go=20=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E5=92=8Cmarkdown=E8=AF=AD=E6=B3=95=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- problems/0056.合并区间.md | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/problems/0056.合并区间.md b/problems/0056.合并区间.md index 2ff37372..7b092c9b 100644 --- a/problems/0056.合并区间.md +++ b/problems/0056.合并区间.md @@ -207,24 +207,26 @@ class Solution: ``` ### Go -```golang +```go func merge(intervals [][]int) [][]int { - //先从小到大排序 - sort.Slice(intervals,func(i,j int)bool{ - return intervals[i][0]=intervals[i+1][0]{ - intervals[i][1]=max(intervals[i][1],intervals[i+1][1])//赋值最大值 - intervals=append(intervals[:i+1],intervals[i+2:]...) - i-- + res := make([][]int, 0, len(intervals)) + left, right := intervals[0][0], intervals[0][1] + for i := 1; i < len(intervals); i++ { + if right < intervals[i][0] { + res = append(res, []int{left, right}) + left, right = intervals[i][0], intervals[i][1] + } else { + right = max(right, intervals[i][1]) } } - return intervals + res = append(res, []int{left, right}) // 将最后一个区间放入 + return res } -func max(a,b int)int{ - if a>b{ +func max(a, b int) int { + if a > b { return a } return b