import (
	"fmt"
)

func summaryRanges(nums []int) (ranges []string) {
	for beg, end := 0, 0; beg < len(nums); beg = end {
		for end = beg + 1; end < len(nums) && nums[end]-nums[end-1] == 1; end++ {
		}
		if beg+1 == end {
			ranges = append(ranges, fmt.Sprintf("%d", nums[beg]))
		} else {
			ranges = append(ranges, fmt.Sprintf("%d->%d", nums[beg], nums[end-1]))
		}
	}
	return
}