一、题目
二、代码
滑动窗口
class Solution {
//滑动窗口 + hashSet去重
public List<String> findRepeatedDnaSequences(String s) {
int windowLen = 10;
int len = s.length();
Set<String> DnaSet = new HashSet<>();
//可能会存在多个重复子串也是要去重的
Set<String> descSet = new HashSet<>();
for(int i = 0; i < len - windowLen + 1; i++){
String str = s.substring(i, i + 10);
if(DnaSet.contains(str)){
descSet.add(str);
}
DnaSet.add(str);
}
return new ArrayList<String>(descSet);
}
}