智能免费建站,wordpress描述怎么写,网站制作的服务怎么样,建网站作业DNA序列 由一系列核苷酸组成#xff0c;缩写为 ‘A’, ‘C’, ‘G’ 和 ‘T’.。 例如#xff0c;“ACGAATTCCG” 是一个 DNA序列 。 在研究 DNA 时#xff0c;识别 DNA 中的重复序列非常有用。 给定一个表示 DNA序列 的字符串 s #xff0c;返回所有在 DNA 分子中出现不止… DNA序列 由一系列核苷酸组成缩写为 ‘A’, ‘C’, ‘G’ 和 ‘T’.。 例如“ACGAATTCCG” 是一个 DNA序列 。 在研究 DNA 时识别 DNA 中的重复序列非常有用。 给定一个表示 DNA序列 的字符串 s 返回所有在 DNA 分子中出现不止一次的 长度为 10 的序列(子字符串)。你可以按 任意顺序 返回答案。 示例 1 输入s “AAAAACCCCCAAAAACCCCCCAAAAAGGGTTT” 输出[“AAAAACCCCC”,“CCCCCAAAAA”] 示例 2 输入s “AAAAAAAAAAAAA” 输出[“AAAAAAAAAA”] 提示
0 s.length 10^5 s[i]‘A’、‘C’、‘G’ or ‘T’ 解题思路
1、没有技巧就是简单查询
2、利用HashMap
3、字符串总长度为len,查询前len - 10即可后几个构不成长度为10的字符串
代码
class Solution {public ListString findRepeatedDnaSequences(String s) {MapString, Integer map new HashMapString, Integer();ListString res new ArrayListString();for(int i 0; i s.length() - 10; i ) {String sub s.substring(i, i 10);map.put(sub, map.getOrDefault(sub, 0) 1);if(map.get(sub) 2) res.add(sub);}return res;}
}