0%

LeetCode-228

题目

228. 汇总区间

结果

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
func summaryRanges(nums []int) (ans []string) {
for i := 0; i < len(nums); {
for j := i + 1; j <= len(nums); j++ {
if j == len(nums) || nums[j-1]+1 != nums[j] {
ans = append(ans, interval(nums[i], nums[j-1]))
i = j
break
}
}
}
return
}

func interval(a, b int) string {
if a == b {
return strconv.Itoa(a)
}
return fmt.Sprintf("%d->%d", a, b)
}