187.Repeated DNA Sequences

class Solution {
    HashMap hm;
    HashSet ls; 
    public List findRepeatedDnaSequences(String s) {
        hm = new HashMap();
        ls = new HashSet();
        for (int i = 0; i < s.length(); i++) {                             // i + 10 <= s.length() 改进
            int j = i + 10;                                                    //降低复杂度   
            if (j <= s.length()) {                                          
                if (hm.containsKey(String.valueOf(s.substring(i, j)))&&hm.get(String.valueOf(s.substring(i, j)))!=2) {
                    ls.add(String.valueOf(s.substring(i, j)));             //这里我也不知道为什么会出现重复 导致我用哈希表
                    hm.replace(String.valueOf(s.substring(i, j)), 2);
                } else
                    hm.put(String.valueOf(s.substring(i, j)), 1);
            }
        }
        return new ArrayList(ls);
    }
}
全部评论

相关推荐

01-14 16:23
广州商学院 Java
双非后端失败第N人:如果准备好了可以直接投字节,字节是最不看学历的,只要想面,大概率都能给你约面。
双非有机会进大厂吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务