def count_overlapping(sequence, sub):
counts = 0
n = len(sub)
while sub in sequence:
counts += 1
sequence = sequence[(sequence.find(sub) + n-1):]
return counts
输入:sequence=agatabatagataagataagata
输入:sub=agata
产出:3
这是要求的输出,但我的程序给出了4。我如何忽略非重复的输出
有人请带我到这里来
Tags:
下面是一种基于正则表达式的方法,它使用
re.sub
删除子字符串的所有重复组。然后,为了找到存在的子串的数量,我们只需将长度差除以子串的长度这将打印:
3
最简单但效率不高的解决方案是每次将子字符串相乘,直到在字符串中再也找不到它,然后找到最大重复次数:
这就产生了
3
相关问题 更多 >
编程相关推荐