力扣:187. 重复的DNA序列(Python3)

题目:

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

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

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

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

来源:力扣(LeetCode)

链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台

示例:

示例 1:

输入:s = "AAAAACCCCCAAAAACCCCCCAAAAAGGGTTT"

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

示例 2:

输入:s = "AAAAAAAAAAAAA"

输出:["AAAAAAAAAA"]

解法:

使用滑动窗口记录每个子串出现的次数。

代码:

python 复制代码
class 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
相关推荐
2501_9071368213 分钟前
python 界面元素控件库工具,可以看到python的可视控件和使用方法
python·软件需求
2301_7657031415 分钟前
开发一个简单的Python计算器
jvm·数据库·python
yj155816 分钟前
客厅阳台改卧室需要注意什么?
python
2401_8384725118 分钟前
C++图形编程(OpenGL)
开发语言·c++·算法
boss-dog19 分钟前
关于强化学习入门理解和示例
python·强化学习
-dzk-22 分钟前
【代码随想录】LC 203.移除链表元素
c语言·数据结构·c++·算法·链表
一只理智恩29 分钟前
筹备计划·江湖邀请令!!!
python·langchain
Sagittarius_A*39 分钟前
角点检测:Harris 与 Shi-Tomasi原理拆解【计算机视觉】
图像处理·人工智能·python·opencv·计算机视觉
进击的小头1 小时前
陷波器实现(针对性滤除特定频率噪声)
c语言·python·算法
LitchiCheng1 小时前
Mujoco 开源机械臂 RL 强化学习避障、绕障
人工智能·python·开源