lc-go/solutions/2/q228/solution.go
2025-12-23 19:00:11 +09:00

32 lines
567 B
Go

package q228
import (
"fmt"
"strconv"
)
func addToRanges(output []string, a, b int) []string {
if a == b {
return append(output, strconv.FormatInt(int64(a), 10))
}
return append(output, fmt.Sprintf("%d->%d", a, b))
}
func summaryRanges(nums []int) []string {
if len(nums) == 0 {
return nil
}
output := []string{}
l := 0
for r := 1; r < len(nums); r++ {
if nums[r]-nums[r-1] != 1 {
output = addToRanges(output, nums[l], nums[r-1])
l = r
}
}
output = addToRanges(output, nums[l], nums[len(nums)-1])
return output
}
var _ = summaryRanges