Elenchi autolimitanti
Si consideri un elenco non vuoto L contenente numeri interi non negativi. Una corsa in L è un sottoelenco contiguo di elementi uguali, che non può essere allungato. Ad esempio, le serie di [0,0,1,1,3,3,3,2,1,1] sono [0,0], [1,1], [3,3,3], [2 ], [1,1] . L'elenco L è auto-limitante se per ogni numero intero N ≥ 1 , il numero di occorrenze di N è inferiore o uguale al numero di serie di N-1 . L'elenco sopra non è auto-limitante, perché ci sono 4 occorrenze di 1 , ma solo una corsa di 0 s.
Ecco un esempio di un elenco auto-limitante: [0,0,3,4,1,0,2,1,1,0,2,1,0,0,0,1,0] . Esso ha
- 5 esecuzioni di 0 e 5 occorrenze di 1 ,
- 4 serie di 1 e 2 occorrenze di 2 ,
- 2 serie di 2 e 1 occorrenza di 3 ,
- 1 serie di 3 e 1 occorrenza di 4 ,
- 1 serie di 4 e nessuna occorrenza di 5 ,
- nessuna occorrenza di altri numeri interi.
L'obiettivo
Il tuo compito è decidere se un elenco è auto-limitante. Più esplicitamente, il tuo input deve essere un elenco non vuoto di numeri interi non negativi. Se l'elenco è auto-limitante, l'output deve essere veritiero; in caso contrario, sarà falso. L'input e l'output possono essere in qualsiasi formato ragionevole.
Il conteggio dei byte più basso in ciascun linguaggio di programmazione è il vincitore. Si applicano le regole standard del code-golf .
Casi test
Istanze sincere:
[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]
Esempi di falsi:
[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]
anche, ma tali casi dovrebbero essere falsi, sì.