[LeetCode]187. 重复的DNA序列(java实现)
1. 题目
2. 读题(需要重点注意的东西)
思路(暴力 + 哈希):
枚举所有长度为10的字符串,存到哈希表中,将出现次数大于1次的字符串输出即可。
3. 解法
---------------------------------------------------解法---------------------------------------------------
class Solution {
public List<String> findRepeatedDnaSequences(String s) {
List<String> res = new ArrayList<>();
Map<String,Integer> hashmap = new HashMap<>();
for(int i = 0;i <= s.length() - 10;i++){ // 注意这里取的是 <=
String temp = s.substring(i,i+10);
hashmap.put(temp,hashmap.getOrDefault(temp,0)+1);
}
for(var entry: hashmap.entrySet())
if(entry.getValue() > 1)
res.add(entry.getKey());
return res;
}
}
可能存在的问题: