假设我们有一个称为 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" 中出现两次。
让我们看看以下实现以获得更好的理解 -
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