检查字符串是否可以重复以在 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

猜你喜欢