Найдите самое длинное значение true в списке логических значений. Возвратите тот же список со всеми другими фальсификациями.
Ввод, вывод
Список; любой обычный формат (например, список с разделителями в виде строки).
Детали
Истина и ложь могут быть любым, что ваш язык обычно использует для этих значений, или целыми числами 1 и 0. Если вы используете одиночные символы, список может быть конкатенацией (например, 10001
).
Если есть связь для самого длинного пробега, сохраняйте все пробежки связывания истинными и фальсифицируйте все короткие пробежки
Примеры
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
(прямо с /programming//q/37447114 )