Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Đếm chuỗi con đối xứng (Palindromic Substrings) trong Python

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
  • 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