一、題目分析
分析:
方法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;
}
}