Temukan run terpanjang dari true dalam daftar boolean. Kembalikan daftar yang sama, dengan semua trues lainnya dipalsukan.
Input output
Sebuah daftar; format biasa (mis., daftar terbatas sebagai string).
Detail
Benar dan salah dapat berupa apa saja yang bahasa Anda biasanya gunakan untuk nilai-nilai itu, atau bilangan bulat 1 dan 0. Jika Anda menggunakan karakter tunggal, daftar dapat berupa gabungan (misalnya, 10001
).
Jika ada dasi untuk jangka waktu terpanjang, jaga agar semua ikatan berjalan benar, dan palsukan semua lari lebih pendek.
Contohnya
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
(langsung dari https://stackoverflow.com/q/37447114 )