![8131845625734c68b77c4b2aa0f92493.png](https://img-blog.csdnimg.cn/img_convert/8131845625734c68b77c4b2aa0f92493.png)
题目描述
重复的DNA序列 187. 重复的DNA序列 所有 DNA 都由一系列缩写为 A,C,G 和 T 的核苷酸组成,例如:“ACGAATTCCG”。在研究 DNA 时,识别 DNA 中的重复序列有时会对研究非常有帮助。 编写一个函数来查找目标子串,目标子串的长度为 10,且在 DNA 字符串 s 中出现次数超过一次。 示例: 输入:s = "AAAAACCCCCAAAAACCCCCCAAAAAGGGTTT" 输出:["AAAAACCCCC", "CCCCCAAAAA"]
方法一
总体思想:将字符串映射成二进制。这样在比较时,时间复杂度变为O(1)。
note1:映射可以使用HashMap,也可以直接使用ASCII码
note2:合理使用掩码,保证二进制在位数限制之内(二级制数的界限)
第一步,字符与二进制的映射
本题中,一共有4个字符表示不同的DNA序列,我们可以将这4个字符映射到00,01,10,11