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

 

 

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