Computer >> Máy Tính >  >> Lập trình >> Python

Chương trình đếm k chuỗi con có độ dài xuất hiện nhiều hơn một lần trong chuỗi đã cho bằng Python

Giả sử chúng ta có một chuỗi s và một số k, chúng ta phải tìm số chuỗi con có độ dài k s, xuất hiện nhiều hơn một lần trong s.

Vì vậy, nếu đầu vào là s =​​"xxxyyy", k =2, thì đầu ra sẽ là 2

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • saw:=một danh sách mới
  • đối với tôi trong phạm vi từ 0 đến kích thước là s - k, thực hiện
    • t:=chuỗi con của s [từ chỉ số i đến i + k - 1]
    • chèn chữ t vào cuối phần đã xem
  • mp:=một bản đồ cho tất cả các phần tử riêng biệt đã thấy và sự xuất hiện của chúng
  • trả về tổng của tất cả các lần xuất hiện của mỗi phần tử trong mp nơi số lần xuất hiện nhiều hơn 1

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

Ví dụ

class Solution:
   def solve(self, s, k):
      from collections import Counter
      seen = []
      for i in range(len(s) - k + 1):
         t = s[i : i + k]
         seen.append(t)
         s = Counter(seen)
      return sum(1 for x in s.values() if x > 1)
ob = Solution()
print(ob.solve("xxxyyy",2))

Đầu vào

"xxxyyy",2

Đầu ra

2