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

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

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

while True:
    try:
        a = input()
        b= input()
        res = []
        #先找到所有公共子串,再返回最大子串
        #用短的输入字符串的子串和长的比较,这样按顺序写入的是短串中的子串,max会自动返回最先出现的
        if len(a) >= len(b):
            for i in range(len(b)):
                for k in range(i+1,len(b)+1): 
                    if b[i:k] in a:
                        res.append(b[i:k])
        else:
            for i in range(len(a)):
                for k in range(i+1,len(a)+1): 
                    if a[i:k] in b:
                        res.append(a[i:k])
        
        maxi = max(res, key=len, default='') #max只返回一个,如果长度相等,则返回第一个!
        print(maxi)
    except:
        break
                
                    
全部评论

相关推荐

牛至超人:我将凌晨两点给你打电话
点赞 评论 收藏
分享
owwhy:难,技术栈在嵌入式这块显得非常浅,并且简历有大问题。教育经历浓缩成两行就行了,写什么主修课程,说的不好听这块没人在意,自我评价删了,项目写详细点,最终简历缩成一页。相关技能怎么说呢,有点差了,还写成这么多行
投了多少份简历才上岸
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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