Giả sử chúng ta có một chuỗi; cần đếm số lượng chuỗi con đối xứng có trong chuỗi đó. Các chuỗi con có chỉ số bắt đầu hoặc kết thúc khác nhau được tính là chuỗi con khác nhau, ngay cả khi chúng chứa cùng các ký tự. Ví dụ, nếu đầu vào là "aaa", kết quả sẽ là 6 vì có 6 chuỗi con đối xứng: "a", "a", "a", "aa", "aa", "aaa".
Để giải quyết, thực hiện các bước sau:
- count := 0
- Với i từ 0 đến độ dài chuỗi:
- Với j từ i + 1 đến độ dài chuỗi + 1:
- temp := chuỗi con từ chỉ số i đến j
- Nếu temp là chuỗi đối xứng, tăng count lên 1
- Với j từ i + 1 đến độ dài chuỗi + 1:
- Trả về count
Ví dụ (Python)
class Solution:
def countSubstrings(self, s):
counter = 0
for i in range(len(s)):
for j in range(i + 1, len(s) + 1):
temp = s[i:j]
if temp == temp[::-1]:
counter += 1
return counter
ob1 = Solution()
print(ob1.countSubstrings("aaaa"))
Đầu vào
"aaaa"
Kết quả
10