Thao tác bit
Mô tả
Dạo này chị Ba mua một chiếc ổ cắm thông minh gắn cho nồi cơm điện ở căn bếp nhỏ trên Sài Gòn. Chiếc ổ này mỗi phút ghi lại trạng thái hoạt động: đặt 1 nếu nồi đang tiêu thụ điện và 0 nếu nồi đã chuyển sang chế độ ủ ấm hoặc tắt hẳn. Sau một buổi tối nấu eat-all-you-can cho cả nhà, chị muốn biết nồi cơm hoạt động liên tục bao nhiêu phút — để ước lượng tiền điện cuối tháng.
Cho một danh sách trangThai gồm n phần tử, mỗi phần tử là 0 hoặc 1. Bạn hãy tìm độ dài lớn nhất của một dãy con các bit 1 đứng liên tiếp trong mảng.
Đầu vào
- Một danh sách số nguyên
trangThai, mỗi phần tử chỉ nhận giá trị0hoặc1.
Đầu ra
- Trả về một số nguyên duy nhất là độ dài chuỗi
1liên tiếp dài nhất. Nếu không có bit1nào, trả về0.
Ràng buộc
1 <= n <= 10^5- Mỗi phần tử của
trangThaichỉ là0hoặc1.
Ví dụ
Ví dụ 1
- Đầu vào:
trangThai = [1, 1, 0, 1, 1, 1, 0, 1] - Đầu ra:
3 - Giải thích: Dãy liên tiếp dài nhất các bit
1là[1, 1, 1]ở các vị trí thứ 4, 5, 6 (đánh số từ 1), nên kết quả là3.
Ví dụ 2
- Đầu vào:
trangThai = [0, 0, 0] - Đầu ra:
0 - Giải thích: Không có bit
1nào xuất hiện, nên không có chuỗi hoạt động liên tục, kết quả là0.