python 查找两个字符串a,b中的最长公共子串
地址:https://www.nowcoder.com/practice/181a1a71c7574266ad07f9739f791506?tpId=37&&tqId=21288&rp=1&ru=/ta/huawei&qru=/ta/huawei/question-ranking
1 '''2 描述
3 查找两个字符串a,b中的最长公共子串。若有多个,输出在较短串中最先出现的那个。
4 注:子串的定义:将一个字符串删去前缀和后缀(也可以不删)形成的字符串。请和“子序列”的概念分开!
5
6 本题含有多组输入数据!
7 输入描述:
8 输入两个字符串
9
10 输出描述:
11 返回重复出现的字符
12 示例1
13 输入:
14 abcdefghijklmnop
15 abcsafjklmnopqrstuvw
16 输出:
17 jklmnop
18
19 '''
20
21 while(True):
22 try:str1 = input()
23 except:break
24
25 str2 = input()
26 newStr = ''
27 resStr=''
28 resStrShort = str1 if len(str1) <= len(str2) else str2
29 for i in range(len(str1)):
30 newStr = str1[i:]
31 for j in range(len(newStr)):
32 newStr1 = newStr[:len(newStr)-j]
33 if newStr1 in str2:
34
35 if len(resStr) > len(newStr1) or (len(resStr) == len(newStr1) and resStrShort.index(resStr) < resStrShort.index(newStr1)):
36 resStr = resStr
37 else:
38 resStr = newStr1
39 print(resStr)
以上是 python 查找两个字符串a,b中的最长公共子串 的全部内容, 来源链接: utcz.com/z/389003.html