LeetCode 187反復DNA配列(反復DNA配列)

187繰り返しDNA配列
187の反復DNA配列

题目描述
"ACGAATTCCG":すべてのDNAは、例えば、A、C、G、およびTと略記する一連のヌクレオチドから構成されています。DNAを勉強するとき、DNAの中に繰り返し配列を同定すると便利な場合があります。

DNA分子中に複数回発生するすべての10-レター長いシーケンス(ストリング)を見つけるための機能を記述します。

LeetCode 187は、DNA配列を繰り返し中等

例:

入力: S = "AAAAACCCCCAAAAACCCCCCAAAAAGGGTTT"

出力: [ "AAAAACCCCC"、 "CCCCCAAAAA"]

Java実装

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

class Solution {
    public List<String> findRepeatedDnaSequences(String s) {
        Set<String> set = new HashSet<>();
        Set<String> repeat = new HashSet<>();
        for (int i = 0; i + 9 < s.length(); i++) {
            String str = s.substring(i, i + 10);
            if (!set.add(str)) {
                repeat.add(str);
            }
        }
        return new ArrayList<>(repeat);
    }
}

参考資料

おすすめ

転載: www.cnblogs.com/hglibin/p/10962275.html