我正在尝试编写一个函数,它获取 2 个字符串和一个整数“k”,并返回两个长度为 k 的字符串的公共子字符串。(如果超过 1 个,则随机返回一个)。网上有很多算法可以检查最长的公共子字符串,但我发现没有一个可以检查 k 长度的子字符串。
如果我想优化哈希表,我认为哈希表是正确的方法,但我不太明白。
我只能编写一个函数来检查列表中是否有超过 1 k 长度的序列。这是我得到的:
def repeat(st, k):
for i in range(len(st) - k + 1):
for j in range(i + 1, len(st) - k + 1):
if st[i : i + k] == st[j : j + k]:
return st[i : i + k]
return False
我将不胜感激任何帮助...:/