给定一个未排序的唯一正整数列表,请输出序列整数的最长可能范围中的最短列表。
输入
- 未排序的唯一正整数列表
- 例如
9 13 3 11 8 4 10 15
- 例如
- 输入可以来自以下任意一项:
stdin- 命令行参数
- 函数参数
输出值
- 在标准输出或您的语言最接近的相似输出的一行上打印的范围或单个值的有序列表。
- 如果存在两个或多个顺序整数(按值顺序,而不是列表中的位置),则将使用-将它们表示为包含范围。例如
8-11 - 所有其他整数仅打印而没有其他符号
- 单个空格将分隔输出
- 如果存在两个或多个顺序整数(按值顺序,而不是列表中的位置),则将使用-将它们表示为包含范围。例如
- 输入中不存在的数字不应出现在输出中,例如
3 5 6,3-6由于4不存在而不能缩短为
例子
成功:
IN> 9 13 3 11 8 4 10 15 6
OUT> 3-4 6 8-11 13 15
IN> 11 10 6 9 13 8 3 4 15
OUT> 3-4 6 8-11 13 15
IN> 5 8 3 2 6 4 7 1
OUT> 1-8
IN> 5 3 7 1 9
OUT> 1 3 5 7 9
错误:
IN> 9 13 3 11 8 4 10 15
OUT> 3-15
范围包含不在输入中的值
IN> 9 13 3 11 8 4 10 15
OUT> 3 4 8 9 10 11 13 15
所有顺序值都应表示为范围
IN> 9 13 3 11 8 4 10 15
OUT> 3-4 8-9 10-11 13 15
划分范围,8-9并10-11应8-11
IN> 9 13 3 11 8 4 10 15
OUT> 8-9 13 10-11 3-4 15
输出顺序不正确
规则
- 不允许出现标准漏洞
- 如果您的语言具有执行此功能的功能,则不允许
- 您可以编写完整的程序或函数
- 尾随空格并不重要
计分
- 最少字节获胜