目录
题目
示例 1:
示例 2:
思路:
我的其他博客
题目
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
int len=s.length();
Set
Set
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);
}
}
我的其他博客
简单介绍一些其他的树-CSDN博客
认识二叉树(详细介绍)-CSDN博客
正则表达式详细讲解-CSDN博客
低代码开发:创新之道还是软件开发的捷径?-CSDN博客
HTTP与HTTTPS的区别-CSDN博客
什么情况下会产生StackOverflowError(栈溢出)和OutOfMemoryError(堆溢出)怎么排查-CSDN博客
在多线程中sleep()和wait()的区别(详细)-CSDN博客
谈谈我对HashMap扩容机制的理解及底层实现-CSDN博客
堆排序详细讲解(一文足矣JAVA)-CSDN博客
参考文章
发表评论