187. 重复的DNA序列 --力扣 --JAVA

题目

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

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

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

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

解题思路

  1. 遍历将字符串每十个字符分割成一个字符串存储到Map中进行统计出现次数;
  2. 将出现次数超过1次的存储到list当中输出。

代码展示

java 复制代码
class Solution {
    public List<String> findRepeatedDnaSequences(String s) {
        Map<String,Integer> data = new HashMap<>();
        for (int i = 0; i <= s.length() - 10; i++){
            String str = s.substring(i, i + 10);
            Integer temp = data.getOrDefault(str, 0);
            data.put(str, temp + 1);
        }
        List<String> ans = new ArrayList<>();
        for (String str : data.keySet()){
            if(data.get(str) > 1){
                ans.add(str);
            }
        }
        return ans;
    }
}
相关推荐
Coovally AI模型快速验证32 分钟前
MMYOLO:打破单一模式限制,多模态目标检测的革命性突破!
人工智能·算法·yolo·目标检测·机器学习·计算机视觉·目标跟踪
可为测控1 小时前
图像处理基础(4):高斯滤波器详解
人工智能·算法·计算机视觉
Milk夜雨2 小时前
头歌实训作业 算法设计与分析-贪心算法(第3关:活动安排问题)
算法·贪心算法
BoBoo文睡不醒2 小时前
动态规划(DP)(细致讲解+例题分析)
算法·动态规划
apz_end2 小时前
埃氏算法C++实现: 快速输出质数( 素数 )
开发语言·c++·算法·埃氏算法
仟濹3 小时前
【贪心算法】洛谷P1106 - 删数问题
c语言·c++·算法·贪心算法
苦 涩3 小时前
考研408笔记之数据结构(七)——排序
数据结构
CM莫问4 小时前
python实战(十五)——中文手写体数字图像CNN分类
人工智能·python·深度学习·算法·cnn·图像分类·手写体识别
sz66cm4 小时前
LeetCode刷题 -- 45.跳跃游戏 II
算法·leetcode
Amor风信子4 小时前
华为OD机试真题---战场索敌
java·开发语言·算法·华为od·华为