Leetcode187. Repeated DNA Sequences重复的DNA序列
2024-09-02 11:02:07
所有 DNA 由一系列缩写为 A,C,G 和 T 的核苷酸组成,例如:“ACGAATTCCG”。在研究 DNA 时,识别 DNA 中的重复序列有时会对研究非常有帮助。
编写一个函数来查找 DNA 分子中所有出现超多(过)一次的10个字母长的序列(子串)。
示例:
输入: s = "AAAAACCCCCAAAAACCCCCCAAAAAGGGTTT" 输出: ["AAAAACCCCC", "CCCCCAAAAA"]
需要注意长度只能是10位,而且不能有重复。
因为只有4个字母,还有一种方法是使用0,1,2,3代表这四个字母。每个字母占2bit,一个字符串就只需要占20bit。
class Solution
{
public:
vector<string> findRepeatedDnaSequences(string s)
{
int len = s.size();
map<string, int> save;
vector<string> ans;
if (len <= 10)
{
return ans;
}
for (int j = 0; j <= len - 10; j++)
{
string str = string(s.begin() + j, s.begin() + j + 10);
if (save[str] == 1)
{
ans.push_back(str);
save[str]++;
}
else
{
save[str]++;
}
}
return ans;
}
};
最新文章
- [译]Atlassian Git系列教程
- maven css/js 压缩配置
- 【C#】ASP.NET网页中添加单点登录功能
- 深入浅出百度地图API开发系列(1):前言
- bzoj1015:[JSOI2008]星球大战starwar
- 访问 HTML中元素的方法
- date 、cal、bc
- HBase写数据
- LeetCode算法题-N-ary Tree Preorder Traversal(Java实现)
- jQuery使用(十二):工具方法之type()之类型判断
- centos7设置静态IP地址
- Man方法
- 51nod--1265 四点共面 (计算几何基础, 点积, 叉积)
- Django 学习第四天——Django 模板标签
- p3c安装使用 编码规范扫描 阿里巴巴出品,挺好用的
- You Don&#39;t Know JS: Async &; Performance(第一章, 异步:now &; later)
- 693. Binary Number with Alternating Bits
- c#中(&;&;,||)与(&;,|)的区别和应用
- Java用freemarker导出word
- 如何使用socket进行java网络编程(五)