首页 > 其他分享 >NowCoder HJ75 公共子串计算

NowCoder HJ75 公共子串计算

时间:2024-09-05 13:52:19浏览次数:15  
标签:子串 int longStr curMaxLen HJ75 curLen NowCoder shortStr size

前言

题目: HJ75 公共子串计算
编程语言: C++
解题状态: 艰难完成

思路

暴力解法,要注意的是遍历的范围,以及如何求取连续子串的长度。

代码

#include <iostream>
#include <string>
using namespace std;

int main() {
    string a, b;
    cin >> a;
    cin >> b;
    string longStr, shortStr;
    if (a.size() >= b.size()) {
        longStr = a;
        shortStr = b;
    } else {
        longStr = b;
        shortStr = a;
    }
    int length = 0;
    for (int i = 0; i < longStr.size(); i++) {
        int curMaxLen = 0;
        int curLen = 0;
        for (int j = 0; j < shortStr.size() && i + j < longStr.size(); j++) {
            if (longStr[i + j] == shortStr[j]) {
                curLen++;
            } else {
                curLen = 0;
            }
            curMaxLen = curLen > curMaxLen ? curLen : curMaxLen;
        }
        length = curMaxLen > length ? curMaxLen : length;
    }

    for (int i = 0; i < shortStr.size(); i++) {
        int curMaxLen = 0;
        int curLen = 0;
        for (int j = 0; j < longStr.size() && i + j < shortStr.size(); j++) {
            if (shortStr[i + j] == longStr[j]) {
                curLen++;
            } else {
                curLen = 0;
            }
            curMaxLen = curLen > curMaxLen ? curLen : curMaxLen;
        }
        length = curMaxLen > length ? curMaxLen : length;
    }
    
    cout << length << endl;
    return 0;
}

标签:子串,int,longStr,curMaxLen,HJ75,curLen,NowCoder,shortStr,size
From: https://blog.csdn.net/daishabby2486/article/details/141901924

相关文章

  • 算法练习题10:leetcode76最小覆盖子串-滑动窗口
    目录题目题目描述约束条件解决思路代码getOrDefault(c,0) 方法方法签名参数返回值示例getOrDefault 与 get 的主要区别Integer 题目题目描述给定两个字符串s和t,请你在字符串s中找到包含t中所有字符的最小子串。要求:        如果 s ......
  • 批量替换字符串中的某子串序列为对应的另一子串序列(z3求解器解多元方程时很好用)
    标题有点拗口,看问题需求就理解了——一,问题需求有一个字符串s1,其中包含a1、a2、a3到a14这些子串,我需要将s1中出现的这些子串全部对应替换成v[0],v[1],v[2]到v[13]等等,应该怎么编写程序例如:s1='a1*88+a2*67+a3*65-a4*5+a5*43+a6*89+a7*25+a8*1......
  • 获取无重复字符的最长子串
    1/**2*获取无重复字符的最长子串3*@paramsrcStr4*@return5*/6publicstaticStringgetMaxLenNoRepeatChar(StringsrcStr){7if(srcStr==null){8returnnull;9}10i......
  • nowcoder Round 58
    A签到#include<bits/stdc++.h>typedeflonglongll;usingnamespacestd;constintN=2e6+4;voidsolve(){ doublea,b; std::cin>>a>>b; if(a>=b)std::cout<<"NO"<<'\n'; elsestd::cout......
  • 2024.9.2 Python,用栈写每日温度,等差数列划分,子串所有可能性,等差数列划分,深度优先搜索
    1.每日温度给定一个整数数组temperatures,表示每天的温度,返回一个数组answer,其中answer[i]是指对于第i天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用0来代替。示例1:输入:temperatures=[73,74,75,71,69,72,76,73]输出:[1,1,4,2,......
  • 3. 无重复字符的最长子串
    3.无重复字符的最长子串给定一个字符串s,请你找出其中不含有重复字符的最长子串的长度。示例1:输入:s=“abcabcbb”输出:3解释:因为无重复字符的最长子串是“abc”,所以其长度为3。示例2:输入:s=“bbbbb”输出:1解释:因为无重复字符的最长子串是......
  • 代码随想录day46 || 647 回文子串, 516 最长回文子序列
    647回文字串funccountSubstrings(sstring)int{ //动规五部曲 //dp[i][j]表示s[i:j+1]区间是否是一个回文 //ifs[i]==s[j]{ifi-j<=1||dp[i+1][j-1]==true{dp[i][j]==true}} //初始化为false //从下往上,从左往右 //print varcountint var......
  • 5_最长回文子串
    5_最长回文子串【问题描述】给你一个字符串s,找到s中最长的回文子串。示例:输入:s="babad"输出:"bab"解释:"aba"同样是符合题意的答案。【算法设计思想】本题主要使用到了动态规划的算法思想。其程序的大致执行过程如下:首先,我们先求取下该字符串的长度,然后判断下这个字......
  • 秋招突击——8/22——算法整理——滑动窗口类型题目思维方式——查找最短包含子串、找
    文章目录引言正文基本思路查找最短包含子串考试实现代码考试反思代码===》先确定一边的指针,然后再移动另外一个指针修改找到字符串中所有字母异位词复习实现参考实现无重复最长子串个人实现总结引言今天面试字节,被老师指出来代码能力薄弱,确实如此。后续应当多加......
  • 【LeetCode面试150】——3无重复数组的最长子串
    博客昵称:沈小农学编程作者简介:一名在读硕士,定期更新相关算法面试题,欢迎关注小弟!PS:哈喽!各位CSDN的uu们,我是你的小弟沈小农,希望我的文章能帮助到你。欢迎大家在评论区唠嗑指正,觉得好的话别忘了一键三连哦!......