一、题目分析
分析:
方法1:可以枚举,将长度为10的子串存入hashmap中,这样其实这个题就是个easy的题
这个方法感觉太复杂了,我不想看了。
大致意思就是,编码之后 ,通过位运算转化的问题了
二、java实现
方法一:
public class Solution {
public List<String> findRepeatedDnaSequences(String s) {
List<String> list = new ArrayList();
int len = s.length();
if (len <= 10){
return list;
}
HashSet<String> set = new HashSet();
for (int i = 10; i <= len; i++){
String str = s.substring(i - 10, i);//取到i-10和i-1的字符串,共十位
if (set.contains(str) && !list.contains(str)){
list.add(str);
} else {
set.add(str);
}
}
return list;
}
}