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

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

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

两个知识点: (1)两个字符串调换 a,b = b, a (2) 从较短的字符串开始遍历 range(len(a)): 但是记住range(0, len(a)):取不到len(a),那么这样就取不到字符串最后一个字符 然后从0-1,0-2,0-3,0-4,0-5,0-len(a)+1——>0-j+1,j=1,2,3,4,...len(a) 判断是否在b当中。直接就是s in b 如果j+1-i>len(res) res = a[i:j+1]

while True:
    try:
        a, b = input(), input() # a保存短,b保存长
        if len(a) > len(b):
            a, b = b, a
        res = ''
        for i in range(0, len(a)):
            for j in range(i, len(a)):
                if a[i:j+1] in b and j+1-i > len(res):
                    res = a[i:j+1]
        print(res)
    except:
        break
            
全部评论

相关推荐

不愿透露姓名的神秘牛友
11-21 19:05
面试官_我太想进步了:混学生会的,难怪简历这么水
点赞 评论 收藏
分享
粗心的雪碧不放弃:纯学历问题,我这几个月也是一直优化自己的简历,后来发现优化到我自己都觉得牛逼的时候,发现面试数量也没有提升,真就纯学历问题
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务