首页 > 其他分享 >《字符环》

《字符环》

时间:2024-05-31 19:32:19浏览次数:16  
标签:tmp 字符 lb int ans 字符串

描述

有两个由字符构成的环。请写一个程序,计算这两个字符环上最长连续公共字符串的长度。例如,字符串“ ABCEFAGADEGKABUVKLM ”的首尾连在一起,构成一个环;字符串“ MADJKLUVKL ”的首尾连在一起,构成一个另一个环;“ UVKLMA ”是这两个环的一个连续公共字符串。

输入描述

一行,包含两个字符串,分别对应一个字符环。这两个字符串之间用单个空格分开。字符串长度不超过255 ,且不包含空格等空白符。

输出描述

输出一个整数,表示这两个字符环上最长公共字符串的长度。

样例输入 1 

ABCEFAGADEGKABUVKLM MADJZXZKLUVKL

样例输出 1 

6

#include<bits/stdc++.h>
using namespace std;
int main() {
     string a,b;
     int ans=0,tmp=0,x;
     cin>>a>>b;
     int la=a.size();
     int lb=b.size();
     a+=a;
     b+=b;
     x=min(la,lb);
     for(int i=0; i<la; i++)
         for(int j=0; j<lb; j++) {
             while(a[i+tmp]==b[j+tmp]&&tmp<=x)
                 tmp++;
             ans=max(ans,tmp);
             tmp=0;
         }
     ans=min(ans,la);
     ans=min(ans,lb);
     cout<<ans;
     return 0;
 }

标签:tmp,字符,lb,int,ans,字符串
From: https://blog.csdn.net/2401_84500159/article/details/139201607

相关文章

  • java检测字符串是否包含数字和字母
    在Java中,要检测一个字符串是否同时包含数字和字母,我们可以使用正则表达式(regex)或者通过遍历字符串并检查每个字符来实现。以下是两种方法的详细代码示例:1.方法一:使用正则表达式importjava.util.regex.Matcher;importjava.util.regex.Pattern;publicclassStringChec......
  • 手写HTML字符串解析成对应的 AST语法树
    先看效果展示如下:HTML模版转成ast语法树后在学习之前,我们需要了解这么一个问题,为什么要将HTML字符串解析成对应的AST语法树。为什么?语法分析:HTML字符串是一种标记语言,其中包含了大量的标签、属性、文本等内容。通过解析HTML字符串,可以将其转换为更易于操作和理解的......
  • java 字符串反射调用类
    步骤流程 步骤说明定义字符串:首先,你需要定义一个字符串,该字符串为你要调用的类的全限定名。通过反射获取类:使用反射机制,根据定义的字符串获取对应的类。调用方法:利用反射获取的类,调用其中的方法。详细步骤定义字符串在你的代码中定义一个字符串,代表要调用的类的全限定......
  • C语言(字符函数和字符串函数)1
                          Hi~!这里是奋斗的小羊,很荣幸各位能阅读我的文章,诚请评论指点,关注+收藏,欢迎欢迎~~                           ......
  • Leedcode-反转字符串 II
    自己写的:classSolution:defreverseStr(self,s:str,k:int)->str:#初始化两个空列表:s_li用于存储切分后的字符串片段,res用于存储处理后的片段s_li=[]res=[]#遍历字符串,步长为2*k,切分成每2*k个字符一组的片段并存储在s_li......
  • Java字符串逗号分隔转换List集合
    开发中常用String字符串接收多个用逗号或分号分隔的id,之后再将字符串处理成List<String>集合来方便使用数据。常用方式1.For循环添加Stringstr="123,456,789";List<String>listIds=newArrayList<>();String[]split=str.split(",");for(Strings:split){......
  • 同构字符串
    题目:给定两个字符串s和t,判断它们是否是同构的。如果s中的字符可以按某种映射关系替换得到t,那么这两个字符串是同构的。每个出现的字符都应当映射到另一个字符,同时不改变字符的顺序。不同字符不能映射到同一个字符上,相同字符只能映射到同一个字符上,字符可以映射到自......
  • SAP ABAP 字符串去除重复字符的两种方法
    ABAP里如何去除字符串内的重复字符,在这提供两种方法。第一种是直接对字符串多次循环进行排除,但考虑到性能问题要尽量减少循环次数。第二种是把字符串里字符转成内表一列,去重后拼回一个字符串。方法一示例代码:点击查看代码DATAmarkTYPEc.......
  • 【算法】范围尝试模型、已有字符串添加最少字符使其成为回文字符串
    1.概述给定一个字符串str,如果可以在str的任意位置添加宇符,请返回在添加字符最少的情況下,让str整体都是回文字符串的一种结果。【举例】str="ABA"str本身就是回文串,不需要添加字符,所以返回"ABA"str="AB"可以在’A'之前添加’B'使str整体都是回文串,故可以返回"BAB"......
  • C语言-字符输入/输出-20
    题目:那些一个通过命令运行的程序计算幂,第一个命令行参数是double类型的数,作为幂的底数,第二个参数是整数,作为幂的指数源代码:#include<stdio.h>#include<stdlib.h>intmain(intargc,char*argv[]){intnum;doublebase,base_total;while(argc<3......