在 Python 中从序列中查找最大 k 重复子串的程序

假设我们有一个称为 s 的字符序列,如果 w 被连接 k 次,我们说字符串 w 是 k 次重复的字符串是序列的子串。w 的最大 k 重复值将是最高值 k,其中 w 按顺序进行 k 次重复。如果 w 不是给定序列的子串,则 w 的最大 k 重复值为 0。因此,如果我们有 s 和 w,我们必须按顺序找到 w 的最大 k 重复值。

因此,如果输入类似于 s = "papaya" w = "pa",那么输出将为 2,因为 w = "pa" 在 "papaya" 中出现两次。

示例(Python)

让我们看看以下实现以获得更好的理解 -

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

输入

"papaya", "pa"
输出结果
2

猜你喜欢