重複的DNA序列

2021-09-26 00:24:18 字數 787 閱讀 9162

所有 dna 由一系列縮寫為 a,c,g 和 t 的核苷酸組成,例如:「acgaattccg」。在研究 dna 時,識別 dna 中的重複序列有時會對研究非常有幫助。

編寫乙個函式來查詢 dna 分子中所有出現超多一次的10個字母長的序列(子串)。

示例:輸入: s = 「aaaaacccccaaaaaccccccaaaaagggttt」

輸出: [「aaaaaccccc」, 「cccccaaaaa」]

(解法來自金木鹽)

class

solution,,

,};//a、c、g、t每個字元對應兩個二進位制位

bitset<

1<<

20> s1,s2;

//每一位對應乙個長度為10的子串

int value=0;

int mask=(1

<<20)

-1;//將value的長度限制在20位

for(

int i=

0;i<

10;i++

) value=

(value<<2)

|mp[s[i]];

//每乙個value對應乙個長度為10的子串

s1.set(value)

;//將value對應的位置1

for(

int i=

10;ilength()

;i++

)else s1.

set(value);}

return res;}}

;

113 重複的DNA序列

題目描述 所有 dna 由一系列縮寫為 a,c,g 和 t 的核苷酸組成,例如 acgaattccg 在研究 dna 時,識別 dna 中的重複序列有時會對研究非常有幫助。編寫乙個函式來查詢 dna 分子中所有出現超過一次的10個字母長的序列 子串 示例 輸入 s aaaaacccccaaaaacc...

187 hash 重複的DNA序列

187.重複的dna序列 所有 dna 都由一系列縮寫為 a,c,g 和 t 的核苷酸組成,例如 acgaattccg 在研究 dna 時,識別 dna 中的重複序列有時會對研究非常有幫助。編寫乙個函式來查詢 dna 分子中所有出現超過一次的 10 個字母長的序列 子串 示例 輸入 s aaaaac...

leetcode187 重複的DNA序列

所有 dna 由一系列縮寫為 a,c,g 和 t 的核苷酸組成,例如 acgaattccg 在研究 dna 時,識別 dna 中的重複序列有時會對研究非常有幫助。編寫乙個函式來查詢 dna 分子中所有出現超多一次的10個字母長的序列 子串 示例 輸入 s aaaaacccccaaaaacccccca...