Cho chuỗi s, tìm độ dài chuỗi con liên tiếp chứa cùng một ký tự dài nhất.
Ví dụ
Đầu vào: "abbbaccabbbba".
Đầu ra: 4 (4 ký tự 'b' liên tiếp).
Thuật toán
- Nếu chuỗi rỗng trả về 0.
- Thêm một khoảng trắng vào cuối
sđể xử lý đoạn cuối. - Duyệt, đếm độ dài đoạn ký tự giống nhau liên tiếp (
tem), cập nhật maxctkhi gặp ký tự khác.
Mã nguồn Python
class Solution:
def solve(self, s):
if len(s) == 0:
return 0
s += ' '
ct = 1
tem = 1
for i in range(len(s)-1):
if s[i] == s[i+1]:
tem += 1
else:
ct = max(tem, ct)
tem = 1
return ct
ob = Solution()
print(ob.solve("abbbaccabbbba"))
Đầu vào / Đầu ra
Input: "abbbaccabbbba"
Output: 4