このネストされた for ループを効率的に実行するのに問題があります。長さが約 90,000 の文字列 s に対してこのループを実行する必要があります。誰でもヒントを提供できますか?
このコードは、文字列を受け取り、元の文字列の連続した部分になるように長さ n の断片に切り刻むことになっています。次に、プログラムは、文字列の長さまでの n の各セットのサイズを返します。
例: n = 2 の GATTACAT は {'GA', 'AT', 'TT', 'TA', 'AC', 'CA', 'AT' } を生成します。このように {'GA', 'AT', 'TT', 'TA', 'AC', 'CA'} のセットを取り、その長さを返します。
プログラムは、n = 0 から n = len('GATTACAT') までこれを行い、設定されたすべての長さを合計します。
for m in range(1, len(s)+1):
sublist = list()
for n in range(0, len(s)-m+1):
sublist.append(''.join(ind[n:n+m]))
sumS += len(set(sublist))
ありがとう!