力扣: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
相关推荐
iuu_star2 小时前
金融数据-基于Streamlit的金融数据分析平台开发详解
python·金融·数据挖掘
YGGP3 小时前
【Golang】LeetCode 19. 删除链表的倒数第 N 个节点
算法·leetcode·链表
智航GIS3 小时前
9.3 Excel 自动化
python·自动化·excel
草莓熊Lotso3 小时前
Python 库使用全攻略:从标准库到第三方库(附实战案例)
运维·服务器·汇编·人工智能·经验分享·git·python
我送炭你添花3 小时前
Pelco KBD300A 模拟器:06+6.键盘按键扩展、LCD 优化与指示灯集成(二次迭代)
python·自动化·计算机外设·运维开发
vibag3 小时前
RAG项目实践
python·语言模型·langchain·大模型
池塘的蜗牛3 小时前
mmse-based-OFDM-signal-processing(2)
算法
猫头虎3 小时前
如何解决pip报错 import pandas as pd ModuleNotFoundError: No module named ‘pandas‘问题
java·python·scrapy·beautifulsoup·pandas·pip·scipy
飞天小蜈蚣3 小时前
python-django_ORM的基本操作
android·python·django
平生不喜凡桃李3 小时前
Leetcode-240 :搜索二维矩阵
leetcode·矩阵·深度优先