LeetCode 重复的DNA序列(java)

一、题目分析

 

 分析:

方法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;
    }
}

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章