所有 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...