题解 | #查找两个字符串a,b中的最长公共子串#

查找两个字符串a,b中的最长公共子串

https://www.nowcoder.com/practice/181a1a71c7574266ad07f9739f791506

# !/usr/bin/env python3
# -*- coding: utf-8 -*-
__author__ = 'tianyi'
__date__ = '2024/3/19 19:57 '
__file__ = 'HW_HJ65.py'

# 两个字符串的最长公共子串
String1,String2 = input().rstrip(),input().rstrip()
List1,List2 = [],[]
for i in range(len(String1)+1):
    for j in range(i+2,len(String1)+1):
        try:
            List1.append(String1[i:j])
        except:
            passssssss
for i in range(len(String2)+1):
    for j in range(i+2,len(String2)+1):
        try:
            List2.append(String2[i:j])
        except:
            pass
List = list(set(List1) & set(List2))
List.sort(key=lambda x:len(x),reverse=True)

List_final = [List[0]]
for i in range(1,len(List)):
    if len(List[i]) == len(List[0]):
        List_final.append(List[i])
    else:
        break

if len(List_final) == 1:
    print(List_final[0])
else:
    List_min = []
    if len(String1)>len(String2):
        List_min = List2
    else:
        List_min = List1
    for i in List_min:
        if i in List_final:
            print(i)
            break

try expect 是一个保证在不知道会不会报错的地方顺利通过的好工具

全部评论

相关推荐

07-29 12:14
门头沟学院 Java
程序员小白条:oppo不用想了,经常看92都挂的
点赞 评论 收藏
分享
积极的小学生不要香菜:你才沟通多少,没500不要说难
点赞 评论 收藏
分享
写不来代码的小黑:这么小的城市能有做it的公司也不容易
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务