解题思路:
注意事项:参考了c的写法用了好久
参考代码:
l=list(input().split())
l1=l[0]+l[0]
l2=l[1]+l[1]#之前都不会这个,原来可以这样搞
la=len(l[0])
lb=len(l[1])
ans=0
mn=min(la,lb)
for i in range(la):
for j in range(lb):
x=i
y=j
le=1#这里要注意,++里面直接用x++y++直接等于零,这里用的多个条件下面,所以
while l1[x]==l2[y] and l1[x+1]==l2[y+1] and le<mn:
le+=1
x+=1#这里也是要自己+1才能自己往前
y+=1
if le>ans:#之前还以为计数的位置错了其实没有,最重要的其实就是上面这块
ans=le
print(ans)
'''
题目 2872: 字符环
时间限制: 3s 内存限制: 192MB 提交: 34 解决: 17
题目描述
有两个由字符构成的环。请写一个程序,计算这两个字符环上最长连续公共字符串的长度。例如,字符串“ABCEFAGADEGKABUVKLM”的首尾连在一起,构成一个环;字符串“MADJKLUVKL”的首尾连在一起,构成一个另一个环;“UVKLMA”是这两个环的一个连续公共字符串。
输入格式
一行,包含两个字符串,分别对应一个字符环。这两个字符串之间用单个空格分开。字符串长度不超过255,且不包含空格等空白符。
输出格式
输出一个整数,表示这两个字符环上最长公共字符串的长度。
样例输入复制
ABCEFAGADEGKABUVKLM MADJKLUVKL
样例输出复制
6
'''
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题3.7 (C++代码)浏览:1024 |
模拟计算器 (C语言代码)浏览:966 |
C语言训练-角谷猜想 (C++代码)(3N+1问题)浏览:1850 |
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:545 |
C语言程序设计教程(第三版)课后习题8.4 (C语言代码)浏览:658 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:1327 |
C语言程序设计教程(第三版)课后习题6.9 (C语言代码)浏览:806 |
C语言程序设计教程(第三版)课后习题7.4 (C语言代码)浏览:1314 |
循环入门练习6 (C语言代码)浏览:1058 |
1050题解(结构体数组与结构体指针的使用)浏览:1216 |