题目:
DNA序列 由一系列核苷酸组成,缩写为
'A','C','G'和'T'.。
- 例如,
"ACGAATTCCG"是一个 DNA序列 。在研究 DNA 时,识别 DNA 中的重复序列非常有用。
给定一个表示 DNA序列 的字符串
s,返回所有在 DNA 分子中出现不止一次的 长度为10的序列(子字符串)。你可以按 任意顺序 返回答案。来源:力扣(LeetCode)
链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台
示例:
示例 1:
输入:s = "AAAAACCCCCAAAAACCCCCCAAAAAGGGTTT"
输出:["AAAAACCCCC","CCCCCAAAAA"]
示例 2:
输入:s = "AAAAAAAAAAAAA"
输出:["AAAAAAAAAA"]
解法:
使用滑动窗口记录每个子串出现的次数。
代码:
pythonclass Solution: def findRepeatedDnaSequences(self, s: str) -> List[str]: dic = defaultdict(int) result = [] if len(s) >= 10: for index in range(len(s) - 9): dic[s[index: index + 10]] += 1 result = [k for k, v in dic.items() if v > 1] return result
力扣:187. 重复的DNA序列(Python3)
恽劼恒2023-11-30 20:42
相关推荐
大数据追光猿几秒前
LangChain / LangGraph / AutoGPT / CrewAI / AutoGen 五大框架对比wang_yb4 分钟前
别急着转投 Polars!Pandas 3.0 带着“黑科技”杀回来了Jamesvalley12 分钟前
flask处理所有logging小年糕是糕手17 分钟前
【C++】C++入门 -- 输入&输出、缺省参数ekprada18 分钟前
DAY 16 数组的常见操作和形状柳鲲鹏27 分钟前
OpenCV: 光流法python代码databook31 分钟前
别急着转投 Polars!Pandas 3.0 带着“黑科技”杀回来了情怀姑娘1 小时前
面试题---------------场景+算法烟袅1 小时前
为什么调用 OpenAI Tools 后,还要再请求一次大模型?——从代码看 LLM 工具调用的本质GeekPMAlex1 小时前
Python OOP 深度解析:从核心语法到高级模式