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

Kiểm tra xem một chuỗi có thể được lặp lại để tạo một chuỗi khác bằng Python hay không

Giả sử chúng ta có hai chuỗi s và t, chúng ta phải tìm xem chuỗi s có thể được nối với nhau bao nhiêu lần để tạo ra t. Nếu chúng ta không thể tạo t bằng s, thì trả về -1.

Vì vậy, nếu đầu vào là s =​​"tom" t ="tomtomtom", thì đầu ra sẽ là 3 vì chúng ta có thể ghép "tom" 3 lần để được "tomtomtom".

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

  • nếu kích thước của t không chia hết cho kích thước của s, thì
    • trả về -1
  • cnt:=thương số của (kích thước của t / kích thước của s)
  • s:=nối s cnt số lần
  • nếu s giống với t, thì
    • trả về cnt
  • trả về -1

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

Ví dụ

def solve(s, t):
   if(len(t) % len(s) != 0):
      return -1;
   cnt = int(len(t) / len(s))
   s = s * cnt
   if(s == t):
      return cnt
   return -1
s = "tom"
t = "tomtomtom"
print(solve(s, t))

Đầu vào

"tom", "tomtomtom"

Đầu ra

3