Tìm chuỗi chạy dài nhất của true trong danh sách các booleans. Trả về cùng một danh sách, với tất cả các dấu vết khác bị làm sai lệch.
Đầu ra đầu vào
Một danh sách; bất kỳ định dạng thông thường nào (ví dụ: danh sách được phân tách dưới dạng chuỗi).
Chi tiết
Đúng và sai có thể là bất cứ thứ gì ngôn ngữ của bạn thường sử dụng cho các giá trị đó hoặc các số nguyên 1 và 0. Nếu bạn sử dụng các ký tự đơn, danh sách có thể là một cách ghép (ví dụ 10001
:).
Nếu có một sự ràng buộc cho lần chạy dài nhất, hãy giữ tất cả các lần chạy đúng và làm sai lệch tất cả các lần chạy ngắn hơn.
Ví dụ
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
(trực tiếp từ https://stackoverflow.com/q/37447114 )