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

Chương trình tìm chuỗi con lặp lại k tối đa từ chuỗi trong Python

Giả sử chúng ta có một dãy ký tự được gọi là s, chúng ta nói một xâu w là xâu lặp k nếu w được nối k lần là một xâu con của dãy. Giá trị lặp lại k lớn nhất của w sẽ là giá trị k cao nhất trong đó w là k lặp theo thứ tự. Và nếu w không phải là chuỗi con của dãy đã cho, giá trị lặp lại k lớn nhất của w là 0. Vì vậy, nếu chúng ta có s và w, chúng ta phải tìm giá trị lặp lại k lớn nhất của w trong dãy.

Vì vậy, nếu đầu vào giống như s ="đu đủ" w ="pa", thì đầu ra sẽ là 2 vì w ="pa" xuất hiện hai lần trong "đu đủ".

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

  • Đếm:=số w có trong s

  • nếu Count giống 0 thì

    • trả về 0

  • đối với tôi trong phạm vi Đếm đến 0, giảm đi 1, thực hiện

    • nếu tôi lặp lại w trong s, thì

      • trả lại tôi

Ví dụ (Python)

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

def solve(s, w):
   Count=s.count(w)
   if Count==0:
      return 0
   for i in range(Count,0,-1):

      if w*i in s:
         return i

s = "papaya"
w = "pa"
print(solve(s, w))

Đầu vào

"papaya", "pa"

Đầu ra

2