檢查Python字串是否可重複構成另一字串


假設我們有兩個字串s和t,我們需要找到字串s可以連線多少次才能生成t。如果無法使用s生成t,則返回-1。

因此,如果輸入類似於s = "tom" t = "tomtomtom",則輸出將為3,因為我們可以將"tom"連線3次以獲得"tomtomtom"。

為了解決這個問題,我們將遵循以下步驟:

  • 如果t的長度不能被s的長度整除,則
    • 返回-1
  • cnt := (t的長度 / s的長度)的商
  • s := 將s連線cnt次
  • 如果s與t相同,則
    • 返回cnt
  • 返回-1

讓我們看看下面的實現,以便更好地理解:

示例

線上演示

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

輸入

"tom", "tomtomtom"

輸出

3

更新於:2020-12-29

398 次檢視

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.