乐趣区

关于前端:重复的dna序列

反复的 dna 序列

DNA 序列 由一系列核苷酸组成,缩写为‘A’,‘C’,‘G’和’T’.。例如,”ACGAATTCCG”是一个 DNA 序列。在钻研 DNA 时,辨认 DNA 中的反复序列十分有用。给定一个示意 DNA 序列 的字符串 s,返回所有在 DNA 分子中呈现不止一次的 长度为 10 的序列 (子字符串)。你能够按 任意程序 返回答案。

输出:s =“AAAAACCCCCAAAAACCCCCCAAAAAGGGTTT”输入:[“AAAAACCCCC”,”CCCCCAAAAA”]

var findRepeatedDnaSequences=function(s){
    const l=10;
    const ans=[];
    const cnt=new Map();
    const n=s.length;
    for(let I=0;i<n-l;++i){const sub=s.slice(i,i+l);
        cnt.set(sub,(cnt.get(sub)||0)+1);
        if(cnt.get(sub)===2){ans.push(sub);
        }
    }
    return ans;
}
退出移动版