leetcode反復DNA配列

例えばA、C、G、およびTヌクレオチドと略記する一連の全DNA、 "ACGAATTCCG"。DNAの研究では、研究におけるDNA反復配列の認識は、時には非常に参考になります。

書き込みを見つける機能は、10文字(サブストリング)のDNA分子の全ての長いシーケンスの複数にわたって生じます。

例:

入力:S = "AAAAACCCCCAAAAACCCCCCAAAAAGGGTTT"

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

出典:ボタン(LeetCode)滞在
:リンクhttps://leetcode-cn.com/problems/repeated-dna-sequences
すべてのネットワークからの控除が著作権を保有します。商業転載は許可公式、非商用の転載は、ソースを明記してくださいお問い合わせください。

アルゴリズム:暴力列挙
アルゴリズムII:二次元のハッシュテーブルの最適化サイクル、値はあなたが見つけることができ、アップ保たれています

class Solution {
public:
    vector<string> findRepeatedDnaSequences(string s) {
        unordered_map<string,int> hash;
        vector<string> res;
        for(int i=0;i+10<=s.size();++i){
            string now = s.substr(i,10);
            if(hash[now]==1)res.push_back(now);
            hash[now]++;
        }
        return res;
    }
};

おすすめ

転載: www.cnblogs.com/clear-love/p/11411613.html