definizioni
- Una sottosequenza potrebbe non essere contigua, ad esempio
[1, 1, 1]
una sottosequenza di[1, 2, 1, 2, 1]
. - Una sottosequenza uguale è una sottosequenza in cui ogni elemento è uguale.
- La sottosequenza uguale più lunga potrebbe non essere unica, ad es.
[1, 1]
E[2, 2]
sono entrambe le sottosequenze uguali più lunghe di[2, 1, 1, 2]
.
Ingresso
Un elenco non vuoto di numeri interi positivi in uno dei formati seguenti:
- come l'implementazione nativa di una matrice di numeri interi positivi nella tua lingua
- come una stringa di numeri interi separati da nuova riga in decimale
- come una stringa di numeri interi separati da nuova riga in unario
- qualsiasi altro formato ragionevole
Produzione
Tutte le sottosequenze uguali più lunghe in qualsiasi ordine in uno dei formati seguenti:
- come un array nidificato 2D nella tua lingua (se l'input è un array)
- come un array appiattito con gli stessi elementi contigui
- qualsiasi altro formato ragionevole
punteggio
Anche se stiamo cercando qualcosa di lungo, il codice utilizzato dovrebbe essere il più breve possibile in termini di numero di byte, poiché questo è code-golf
Casi test
ingressi:
[1, 2, 3]
[1, 2, 2, 1]
[1, 2, 3, 2, 1]
[1, 2, 1, 2, 3, 4, 1]
Uscite:
[[1], [2], [3]]
[[1, 1], [2, 2]]
[[1, 1], [2, 2]]
[[1, 1, 1]]
Si noti che per le uscite sopra, qualsiasi ordine è valido.
È valido anche un array appiattito, purché gli elementi uguali siano contigui.
1 2 3
, 1 1 2 2
, 1 1 2 2
, 1 1 1
?