Cho chuỗi s chỉ chứa chữ thường, đếm tổng số chuỗi con mà chỉ chứa một ký tự duy nhất (tức là chuỗi con gồm các ký tự giống nhau liên tiếp).
Ví dụ
Đầu vào: "xxyy".
Đầu ra: 6 (chuỗi con: "x", "x", "xx", "y", "y", "yy").
Thuật toán
- Khởi tạo
total = 0,previous = ''. - Duyệt từng ký tự
c:- Nếu
c != previous:previous = c,temp = 1. - Ngược lại:
temp += 1. total += temp.
- Nếu
- Trả về
total.
Mã nguồn Python
class Solution:
def solve(self, s):
total = 0
previous = ''
for c in s:
if c != previous:
previous = c
in_a_row = 1
else:
in_a_row += 1
total += in_a_row
return total
ob = Solution()
print(ob.solve("xxyy"))
Đầu vào / Đầu ra
Input: "xxyy"
Output: 6