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

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

假设我们有一个名为s的字符序列,如果将字符串w连接k次得到的字符串是序列的子字符串,则称该字符串w为k重复字符串。w的最大k重复值是使得w成为序列中k重复的最高值k。如果w不是给定序列的子字符串,则w的最大k重复值为0。因此,如果我们有s和w,则必须在序列中找到w的最大k重复值。

因此,如果输入为s =“papaya”w =“pa”,那么输出将为2,因为在“papaya”中“pa”出现了两次。

要解决此问题,我们将遵循以下步骤−

  • Count:计算w在s中出现的次数

  • 如果Count与0相同,则

    • 返回0
  • 对于i在范围Count到0的迭代中,递减1,执行以下操作
    • 如果s中存在i个w的重复,则
      • 返回i

示例(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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程