Dada una lista sin clasificar de enteros positivos únicos, genera la lista más corta de los rangos más largos posibles de enteros secuenciales.
ENTRADA
- Una lista sin clasificar de enteros positivos únicos
- p.ej
9 13 3 11 8 4 10 15
- p.ej
- La entrada puede tomarse de cualquiera de los siguientes:
stdin
- argumentos de línea de comandos
- argumentos de función
SALIDA
- Una lista ordenada de rangos o valores individuales impresos en una línea para stdout o la salida similar más cercana a su idioma.
- Si hay dos o más enteros secuenciales (secuenciales por valor, no por ubicación en la lista), se denotarán como un rango inclusivo usando -, por ejemplo
8-11
- Todos los demás enteros se imprimen simplemente sin otra notación.
- Un solo espacio delimitará la salida
- Si hay dos o más enteros secuenciales (secuenciales por valor, no por ubicación en la lista), se denotarán como un rango inclusivo usando -, por ejemplo
- Los números que no están presentes en la entrada no deben estar en la salida, por ejemplo,
3 5 6
no se pueden acortar3-6
porque4
no están presentes
EJEMPLOS
Exitoso:
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
Incorrecto:
IN> 9 13 3 11 8 4 10 15
OUT> 3-15
El rango contiene valores que no están en la entrada
IN> 9 13 3 11 8 4 10 15
OUT> 3 4 8 9 10 11 13 15
Todos los valores secuenciales deben representarse como un rango
IN> 9 13 3 11 8 4 10 15
OUT> 3-4 8-9 10-11 13 15
Rango dividido, 8-9
y 10-11
debe ser8-11
IN> 9 13 3 11 8 4 10 15
OUT> 8-9 13 10-11 3-4 15
Salida no ordenada correctamente
REGLAS
- Las lagunas estándar no están permitidas
- Si su idioma tiene una función para hacer esto, no está permitido
- Puedes escribir un programa completo o una función
- el espacio en blanco al final no importa
PUNTUACIÓN
- Menos bytes gana