Listas autolimitadas
Considere una lista no vacía L que contiene enteros no negativos. Una ejecución en L es una sublista contigua de elementos iguales, que no se puede alargar. Por ejemplo, las corridas de [0,0,1,1,3,3,3,2,1,1] son [0,0], [1,1], [3,3,3], [2 ], [1,1] . La lista L es autolimitada si para cada número entero N ≥ 1 , el número de ocurrencias de N es menor o igual que el número de corridas de N-1 . La lista anterior no es autolimitada, porque hay 4 ocurrencias de 1 , pero solo una ejecución de 0 s.
Aquí hay un ejemplo de una lista autolimitada: [0,0,3,4,1,0,2,1,1,0,2,1,0,0,0,1,0] . Tiene
- 5 carreras de 0 y 5 ocurrencias de 1 ,
- 4 carreras de 1 y 2 ocurrencias de 2 ,
- 2 carreras de 2 y 1 ocurrencia de 3 ,
- 1 corrida de 3 y 1 ocurrencia de 4 ,
- 1 corrida de 4 y no ocurrencias de 5 ,
- sin ocurrencias de otros enteros.
La tarea
Su tarea es decidir si una lista es autolimitada. Más explícitamente, su entrada será una lista no vacía de enteros no negativos. Si la lista es autolimitada, su salida será verdadera; de lo contrario, será falso. La entrada y salida pueden estar en cualquier formato razonable.
El conteo de bytes más bajo en cada lenguaje de programación es el ganador. Se aplican reglas estándar de código de golf .
Casos de prueba
Ejemplos de verdad:
[0]
[1,0]
[0,1,1,0,2]
[3,1,1,0,0,2,0,0]
[5,0,4,1,3,0,2,2,0,1,1,1,0]
[0,0,1,1,0,0,1,1,0,0,2,2,0,0]
[6,0,0,0,2,2,1,0,5,0,3,4,0,1,1,1]
[5,0,1,0,0,0,0,4,0,3,1,1,1,2,2,0,0,0,0,0]
[4,5,1,3,2,0,5,2,0,3,0,1,0,1,0,0,0,1,0,0,1,0,3,4,4,0,2,6,0,2,6]
[0,4,1,3,10,6,0,1,3,7,9,5,5,0,7,4,2,2,5,0,1,3,8,8,11,0,0,6,2,1,1,2,0,4]
Instancias falsas:
[2]
[1,1,0]
[0,0,1,1,1,0,0,2]
[0,1,0,1,1,2,2,3,0,0,4,6]
[1,1,2,1,2,0,2,0,3,0,0,2,2,1,2,3,2,0,1,1,1,0,0,3,3,0]
[3,4,1,0,0,0,5,5,0,2,2,0,0,0,0,0,2,0,1,1,0,4,3,5,4,3]
[1,0,0,0,2,5,3,1,1,0,3,3,1,3,5,4,0,4,0,0,2,0,2,1,1,5,0,0,2,4,4,0,2,0,1,4,4,2,3,3,5,3,4,0,2,0,5]
[4,3,1,0,0,4,6,6,1,0,1,2,1,3,0,1,0,2,0,3,4,0,2,1,1,3,0,2,2,2,0,5,5,0,5,2,5,5,0,4,3,2,3,1,1,3,5,1,4,1,6,2,6,2,4,0,4,0,4,5,3,3,0,0,6,1,0,0,0,6,2,1,0,1,2,6,2,4]
[5,1,1,1,0,2,0,6,1,0,2,1,2,2,5,3,1,0,0,0,3,2,3,0,1,1,0,1,0,1,1,2,0,6,4,1,2,1,1,6,4,1,2,2,4,0,1,2,2,1,3,0,1,2,0,0,0,2,0,2,2,0,1,0,0,1,3,0,0,0,6,2,0,1,0,1,2,1,1,1,0,4,0,0,5,2,0,0,0,4,1,2,2,2,2,0,5,3,2,4,5,0,5]

[2], pero esos casos deberían ser falsos, sí.