Trova la versione più lunga di true in un elenco di valori booleani. Restituisce la stessa lista, con tutte le altre verità falsificate.
Input Output
Una lista; qualsiasi formato normale (ad esempio, un elenco delimitato come stringa).
Dettagli
Vero e falso possono essere qualsiasi cosa la tua lingua usi tipicamente per quei valori, o gli interi 1 e 0. Se usi caratteri singoli, l'elenco può essere una concatenazione (ad es 10001
.).
Se esiste un pareggio per la corsa più lunga, mantenere vere tutte le corse di legatura e falsificare tutte le corse più brevi.
Esempi
input ↦ output
1,0,1,0,1 ↦ 1,0,1,0,1
1,1,0,1,1,0,1 ↦ 1,1,0,1,1,0,0
1,1,0,1,1,1,0,1,1 ↦ 0,0,0,1,1,1,0,0,0
1,1,1 ↦ 1,1,1
0,0,1 ↦ 0,0,1
0,0 ↦ 0,0
1,1,1,0,0,0,1,1,1,1,0,1,0,0,1,1,0,1,1,1,1,0,0,1,0 ↦ 0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0
(direttamente da /programming//q/37447114 )