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) }
|