2 つの文字列と整数 'k' を取得し、長さ k の両方の文字列の共通部分文字列を返す関数を作成しようとしています。(複数ある場合はランダムに1つ返します)。LONGEST 共通部分文字列をチェックするオンラインのアルゴリズムはたくさんありますが、k の長さの部分文字列をチェックするアルゴリズムは見つかりませんでした。
ハッシュテーブルを最適化したい場合は、ハッシュテーブルが正しい方法だと思いますが、うまく取得できませんでした。
リストに 1 つ以上の長さのシーケンスがあるかどうかをチェックする関数しか書けませんでした。これが私が得たものです:
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
これについて何か助けていただければ幸いです... :/