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);
    }
}
全部评论

相关推荐

在评审的大师兄很完美:像这种一般就是部门不匹配 转移至其他部门然后挂掉 我就是这样被挂了
点赞 评论 收藏
分享
拉丁是我干掉的:把上海理工大学改成北京理工大学。成功率增加200%
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
11-21 17:16
科大讯飞 算法工程师 28.0k*14.0, 百分之三十是绩效,惯例只发0.9
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务