187. Repeated DNA Sequences

网友投稿 813 2022-09-04

187. Repeated DNA Sequences

187. Repeated DNA Sequences

All DNA is composed of a series of nucleotides abbreviated as A, C, G, and T, for example: “ACGAATTCCG”. When studying DNA, it is sometimes useful to identify repeated sequences within the DNA.

Write a function to find all the 10-letter-long sequences (substrings) that occur more than once in a DNA molecule.

For example,

Given s = "AAAAACCCCCAAAAACCCCCCAAAAAGGGTTT",Return:["AAAAACCCCC", "CCCCCAAAAA"].

思路: 使用hashmap来处理,要注意避免添加已经添加过的元素。

class Solution { public List findRepeatedDnaSequences(String s) { List res = new LinkedList<>(); HashMap maps = new HashMap<>(); int length = s.length(); if(length <= 10) return res; for(int i = 0;i <= length-10;i++){ String subStr = s.substring(i,i+10); if(maps.containsKey(subStr)){ if(maps.get(subStr) == 1){ maps.replace(subStr,-1); res.add(subStr); } }else{ maps.put(subStr,1); } } return res; }}

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:PHP程序执行的过程原理(php执行代码的四个步骤)
下一篇:199. Binary Tree Right Side View
相关文章

 发表评论

暂时没有评论,来抢沙发吧~