Trouvez la plus longue série de true dans une liste de booléens. Renvoie la même liste, avec toutes les autres vérités falsifiées.
Entrée sortie
Une liste; tout format habituel (par exemple, une liste délimitée sous forme de chaîne).
Détails
Vrai et faux peuvent être tout ce que votre langue utilise généralement pour ces valeurs, ou les entiers 1 et 0. Si vous utilisez des caractères uniques, la liste peut être une concaténation (par exemple, 10001
).
S'il y a une égalité pour la course la plus longue, gardez toutes les courses égales vraies et falsifiez toutes les courses plus courtes.
Exemples
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
(directement depuis /programming//q/37447114 )