228.summary-ranges.go 382 B

1234567891011121314151617
  1. import (
  2. "fmt"
  3. )
  4. func summaryRanges(nums []int) (ranges []string) {
  5. for beg, end := 0, 0; beg < len(nums); beg = end {
  6. for end = beg + 1; end < len(nums) && nums[end]-nums[end-1] == 1; end++ {
  7. }
  8. if beg+1 == end {
  9. ranges = append(ranges, fmt.Sprintf("%d", nums[beg]))
  10. } else {
  11. ranges = append(ranges, fmt.Sprintf("%d->%d", nums[beg], nums[end-1]))
  12. }
  13. }
  14. return
  15. }