golang:将有序的数字切片转换为数字范围表示的字符串数组
Posted IGuoSJ
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了golang:将有序的数字切片转换为数字范围表示的字符串数组相关的知识,希望对你有一定的参考价值。
golang:将有序的数字切片转换为数字范围表示的字符串数组
package main
import (
"fmt"
"strconv"
)
func numToRange(numList []int) []string
if len(numList) == 0
return []string
var retList []string
var start = numList[0]
var end int
var listEnd = numList[len(numList)-1]
for i := 0; i < len(numList)-1; i++
if numList[i+1] > numList[i]+1
end = numList[i]
if start == end
retList = append(retList, strconv.Itoa(start))
else
retList = append(retList, strconv.Itoa(start)+"-"+strconv.Itoa(end))
start = numList[i+1]
if start == listEnd
retList = append(retList, strconv.Itoa(start))
else
retList = append(retList, strconv.Itoa(start)+"-"+strconv.Itoa(listEnd))
return retList
func main()
numList := []int4, 5, 7, 9, 10, 11, 14
ret := numToRange(numList)
fmt.Printf("%v\\n", ret)
运行输出:
[4-5 7 9-11 14]
以上是关于golang:将有序的数字切片转换为数字范围表示的字符串数组的主要内容,如果未能解决你的问题,请参考以下文章
golang 使用Golang从int的数组/切片中找到最小的数字
2022-01-04:一个无序数组长度为n,所有数字都不一样,并且值都在[0...n-1]范围上。 返回让这个无序数组变成有序数组的最小交换次数。 来自小红书。
如何将切片字符串中的单个字符转换为 Python 中的整数?
2022-06-04:给定一个数字n,表示一开始有编号1~n的树木,列成一条直线, 给定一个有序数组arr,表示现在哪些树已经没了,arr[i]一定在[1,n]范围, 给定一个数字m,表示你可以补种多