【字符串】Ybt_字符串环

题目大意

给你两个字符串环(以空格分隔),要你求俩环的最大公共子串长度。


环,串先复制粘贴一份到后面模拟环
借助c++自带函数。


代码

#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;
string s1, s2, s3;
int ans = 0, l1, l2;
int main(){
    
    
	cin>>s1>>s2;
	s1 = s1 + s1; 
	s2 = s2 + s2;
	if(s1.size() < s2.size()){
    
      //长在前
		s3 = s1; 
		s1 = s2; 
		s2 = s3;
	}
	l1 = s1.size()/2;
	l2 = s2.size()/2; 
	for(int i = l2; i > 0; --i){
    
      //长度
		for(int j = 0; j < l2; ++j){
    
      //起始位置 
			s3 = s2.substr(j, i);
			if(s1.find(s3, 0) != string::npos){
    
     //找到
				printf("%d", i);  //输出
				return 0;
			}
		}
	}
	printf("0");
} 

猜你喜欢

转载自blog.csdn.net/qq_42937087/article/details/114414231
今日推荐