当前位置:首页 > C++知识 > 正文内容

【题解】奶牛的回音

亿万年的星光4年前 (2021-11-20)C++知识1969

【题目描述】

奶牛们灰常享受在牛栏中牟叫,因為她们可以听到她们牟声的回音。虽然有时候并不能完全听到完整的回音。Bessie曾经是一个出色的秘书,所以她精确地纪录了所有的牟叫声及其回声。她很好奇到底两个声音的重复部份有多长。 输入两个字符串(长度為1到80个字母),表示两个牟叫声。你要确定最长的重复部份的长度。两个字符串的重复部份指的是同时是一个字符串的前缀和另一个字符串的后缀的字符串。 我们通过一个例子来理解题目。考虑下面的两个牟声:           moyooyoxyzooo           yzoooqyasdfljkamo 第一个串的最后的部份" yzooo" 跟第二个串的第一部份重复。第二个串的最后的份" mo" 跟第一个串的第一部份重复。所以" yzooo" 跟" mo" 都是这2个串的重复部份。其中," yzooo" 比较长,所以最长的重复部份的长度就是5。

【输入描述】

输入格式: *  前两行:  每一行是1个字符串表示奶牛的牟声或它的回声。

【输出描述】

输出格式: *  第一行:  包含一个单独的整数表示输入的2个字符串中,一个字符串的前缀和另一个字符串的后 缀的最长的重复部份的长度。

【样例输入】

abcxxxxabcxabcd
abcdxabcxxxxabcx

【样例输出】

11


扫描二维码推送至手机访问。

版权声明:本文由青少年编程知识记录发布,如需转载请注明出处。

标签: 字符串
分享给朋友:

相关文章

【数据结构】并查集2

【数据结构】并查集2

上一篇文章,简单介绍了并查集。这篇文章,介绍一下并查集的改进以及优化。find函数的优化(路径压缩)因为并查集的merge操作:void merge(int a, int...

c++ 如何用链表存取数据

c++ 如何用链表存取数据

由于单链表的每个结点都有一个数据域和一个指针域。所以,每个结点可以定义成一个记录。其中,DATA数据元素,可以为你想要储存的任何数据格式,可以是数组,可以是int,甚至可以是结构体(这就是传说中的结构...

二维数组的差分

一、基本概念二维数组差分是一种高效处理区间修改操作的数据结构技巧,常用于解决矩阵区域增减问题。差分是前缀和的逆运算,对于二维数组,差分数组 diff[i][j] 表示原数组 a[i][j] 与 a[i...

C++中双冒号(::)的用法

一、作用域符号前面一般是类名称,后面一般是该类的成员名称,C++为例避免不同的类有名称相同的成员而采用作用域的方式进行区分如:A,B表示两个类,在A,B中都有成员member。那么A::member就...

【初级篇】求最大公约数的方法

1.辗转相除法int gcd(int a,int b)  {       if(a%b==0...

STL入门——容器2:set

一、简单介绍    set是STL中一个很有用的容器,用来存储同一种数据类型的数据结构(可以称之为K的模型),基本功能与数组相似。set与数组不同的是,在set...