力扣187 重复DNA序列

简介: 力扣187 重复DNA序列



题目

DNA序列 由一系列核苷酸组成,缩写为 'A', 'C', 'G''T'.。

  • 例如,"ACGAATTCCG" 是一个 DNA序列

在研究 DNA 时,识别 DNA 中的重复序列非常有用。

给定一个表示 DNA序列 的字符串 s ,返回所有在 DNA 分子中出现不止一次的 长度为 10 的序列(子字符串)。你可以按 任意顺序 返回答案。

示例 1:

输入:s = "AAAAACCCCCAAAAACCCCCCAAAAAGGGTTT"

输出:["AAAAACCCCC","CCCCCAAAAA"]


示例 2:

输入:s = "AAAAAAAAAAAAA"

输出:["AAAAAAAAAA"]

思路:

使用了两个集合,一个用于存储当前循环中的DNA子序列,另一个用于存储重复出现的子序列。通过遍历输入字符串,逐个检查子序列是否在集合中出现,最终找出所有重复的DNA子序列。

class Solution {
    public List<String> findRepeatedDnaSequences(String s) {
        int len=s.length();
        Set<String> res = new HashSet<>();
        Set<String> set = new HashSet<>();
        for(int i=0;i<=len-10;i++){
            String key=s.substring(i,i+10);
            if(set.contains(key)){
                res.add(key);
            }else{
                set.add(key);
            }
        }
        return new ArrayList<>(res);
    }
}


相关文章
|
2月前
|
存储 算法
《LeetCode》—— 摆动序列
《LeetCode》—— 摆动序列
|
4月前
|
算法 安全 测试技术
[组合数学]LeetCode:2954:统计感冒序列的数目
[组合数学]LeetCode:2954:统计感冒序列的数目
|
4月前
leetcode-521:最长特殊序列 Ⅰ
leetcode-521:最长特殊序列 Ⅰ
23 0
|
4月前
leetcode-1332:删除回文子序列
leetcode-1332:删除回文子序列
29 0
|
4月前
leetcode-1220:统计元音字母序列的数目
leetcode-1220:统计元音字母序列的数目
30 0
|
4月前
|
Go
golang力扣leetcode 300.最长递增子序列
golang力扣leetcode 300.最长递增子序列
24 1
|
4月前
|
算法 测试技术 C#
【单调栈】LeetCode2030:含特定字母的最小子序列
【单调栈】LeetCode2030:含特定字母的最小子序列
|
4月前
|
Go
golang力扣leetcode 105.从前序与中序遍历序列构造二叉树
golang力扣leetcode 105.从前序与中序遍历序列构造二叉树
33 0
|
4月前
代码随想录 Day44 动规12 LeetCode T300 最长递增子序列 T674 最长连续递增序列 T718 最长重复子数组
代码随想录 Day44 动规12 LeetCode T300 最长递增子序列 T674 最长连续递增序列 T718 最长重复子数组
43 0
|
4月前
|
Java
leetcode 516. 最长回文子序列(JAVA)题解
leetcode 516. 最长回文子序列(JAVA)题解
25 0

热门文章

最新文章