栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

算法刷题计划(八)最长公共前缀、罗马数字转整数、重复的DNA序列

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

算法刷题计划(八)最长公共前缀、罗马数字转整数、重复的DNA序列

算法刷题计划
  • (1)最长公共前缀
  • (2)罗马数字转整数
  • (3)重复的DNA序列


(1)最长公共前缀

题目:
编写一个函数来查找字符串数组中的最长公共前缀。

如果不存在公共前缀,返回空字符串 “”。

  • 示例 1:

    输入:strs = [“flower”,“flow”,“flight”]
    输出:“fl”

  • 示例 2:

    输入:strs = [“dog”,“racecar”,“car”]
    输出:""
    解释:输入不存在公共前缀。


  • 解题方法:
class Solution {
public:
    string longestCommonPrefix(vector& strs) {
       if(!strs.size()) return "";
        int length=strs[0].size();//第一个元素长度
        int count = strs.size();//数组长度
        for(int i=0;i 

(2)罗马数字转整数
  • 解题方法:
class Solution {
public:
    int romanToInt(string s) {
        if(!s.size())   return -1;
        int n =s.size();
        int value=0;
        for(int i=0;i=m[s[i+1]]){
                    value+=m[s[i]];
                }
                else{
                    value-=m[s[i]];
                }
            }else{
                value+=m[s[i]];
            }
            cout<m={
        {'I',1},
        {'V',5},
        {'X',10},
        {'L',50},
        {'C',100},
        {'D',500},
        {'M',1000}
    };
};

(3)重复的DNA序列
  • 题目:

所有 DNA 都由一系列缩写为 ‘A’,‘C’,‘G’ 和 ‘T’ 的核苷酸组成,例如:“ACGAATTCCG”。在研究 DNA 时,识别 DNA 中的重复序列有时会对研究非常有帮助。编写一个函数来找出所有目标子串,目标子串的长度为 10,且在 DNA 字符串 s 中出现次数超过一次。

  • 示例 1:

    输入:s = “AAAAACCCCCAAAAACCCCCCAAAAAGGGTTT”
    输出:[“AAAAACCCCC”,“CCCCCAAAAA”]

  • 示例 2:

    输入:s = “AAAAAAAAAAAAA”
    输出:[“AAAAAAAAAA”]


  • 解题方法:
class Solution {
public:
    vector findRepeatedDnaSequences(string s) {
        int n=s.size();
        if(n<10)return {};
        vectorres;
        unordered_mapm;
        for(int i=0;i<=n-10;i++){
            string temp=s.substr(i,10);
            m[temp]++;
        }
        for(auto it=m.begin();it!=m.end();it++){
            if(it->second>1)res.push_back(it->first);
        }
        return res;
    }
};
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/311609.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号