手机网站搭建用什么软件?wordpress网站加载慢
web/
2025/10/4 17:24:16/
文章来源:
手机网站搭建用什么软件?,wordpress网站加载慢,网站底部关键词,搜搜网站收录1. 题目
所有 DNA 都由一系列缩写为 A#xff0c;C#xff0c;G 和 T 的核苷酸组成#xff0c;例如#xff1a;“ACGAATTCCG”。 在研究 DNA 时#xff0c;识别 DNA 中的重复序列有时会对研究非常有帮助。
编写一个函数来查找 DNA 分子中所有出现超过一次的 10 个字母长…1. 题目
所有 DNA 都由一系列缩写为 ACG 和 T 的核苷酸组成例如“ACGAATTCCG”。 在研究 DNA 时识别 DNA 中的重复序列有时会对研究非常有帮助。
编写一个函数来查找 DNA 分子中所有出现超过一次的 10 个字母长的序列子串。
示例
输入s AAAAACCCCCAAAAACCCCCCAAAAAGGGTTT
输出[AAAAACCCCC, CCCCCAAAAA]来源力扣LeetCode 链接https://leetcode-cn.com/problems/repeated-dna-sequences 著作权归领扣网络所有。商业转载请联系官方授权非商业转载请注明出处。 2. 解题
2.1 哈希
class Solution {
public:vectorstring findRepeatedDnaSequences(string s) {if(s.size() 10)return {};unordered_mapstring,int m;int i 0;while(i s.size()-9)m[s.substr(i,10)];vectorstring ans;for(auto it m.begin(); it ! m.end(); it){if(it-second 1)ans.push_back(it-first);}return ans;}
};120 ms 23.1 MB
2.2 位运算
用0-3来表示四种字符二进制只需要2位总共20位即可表示10个字符
class Solution {
public:vectorstring findRepeatedDnaSequences(string s) {if(s.size() 10)return {};mapchar,int m {{A,0}, {G,1}, {C,2}, {T,3}};unordered_mapint,int c;int num 0, i 0, k10;while(i k-1){num 2;num | m[s[i]];//生成前9位字符的二进制编码表示}vectorstring ans;while(i s.size()){num (num2)~(32*k);//num左移两位311移动20位取反变成00把出去的高位抹掉num | m[s[i]];//加入后面进来的c[num];if(c[num]2)//第二次出现加入答案ans.push_back(s.substr(i-k1,10));i;}return ans;}
};88 ms 14.9 MB
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/86889.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!