アルゴリズムがありますか?文字列(DNAシーケンス)の可能なすべての文字列の組み合わせを、 、最大ハミング距離)?Javaの与えられた最大ハミング距離(不一致の数)ですべての文字列の組み合わせを取得
アルファベットは{A、C、T、G}です。不一致2
の文字列AGCC
と最大数の
例:
Hamming distance is 0
{AGCC}
Hamming distance is 1
{CGCC, TGCC, GGCC, AACC, ACCC, ATCC, AGAC, AGTC, ..., AGCG}
Hamming distance is 2
{?}
一つの可能なアプローチは、与えられた文字列のすべての順列とのセットを生成し、それらを反復し、より大きなハミングですべての文字列を削除することですそれがあるはずの距離。アプローチは5
の20文字の指定したStringと最大のハミング距離によって、非常にressource食いであること
は、そのための別の、より効率的なapprocahes /実装はありますか?
返され、重複を避けるためにセットに置かれたすべての値に対して、距離1の組み合わせを生成する関数を再帰的に呼び出します。 –
ありがとう、私はそのような解決策を試してみます。 –