最短繰り返しサブストリングとその繰り返し回数を簡単に見つける方法はありますか?あなたがない場合は、実際の文字列を返す必要があります(最後のケース)。最短繰り返しサブストリング[PYTHON]
>>> repeated('CTCTCTCTCTCTCTCTCTCTCTCT')
('CT', 12)
>>> repeated('GATCGATCGATCGATC')
('GATC', 4)
>>> repeated('GATCGATCGATCGATCG')
('GATCGATCGATCGATCG', 1)
何人かの人々は、それは私が私の努力を示すことができる「宿題」だと思うので:それは繰り返し部分文字列が一意の文字を持っていることを前提としているので
def repeated(sequentie):
string = ''
for i in sequentie:
if i not in string:
string += i
items = sequentie.count(string)
if items * len(string) == len(sequentie):
return (string, items)
else:
return (sequentie, 1)
申し訳ありませんが、私たちは無料の宿題サービスではありません。 –
実際にはそれは夏休みなので、何かを学びたいだけです。そのように考えるのはちょっと難しいです... – Victor
あなたの例では、_shortest_という部分文字列を返しません。 –