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

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

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

查找两个字符串a,b中的最长公共子串。若有多个,输出在较短串中最先出现的那个。则应从短串的左端开始遍历,拿出子串去匹配另一个串…显然用到了in运算,

while True:
    try:
        s1=input()
        s2=input()
        res=""
        if len(s1)<len(s2): #据题意须保证从短序列入手
            s1,s2=s2,s1   #保证s2是短的
        for j in range(len(s2)):
            for k in range(j,len(s2)):
                if s2[j:k+1] in s1 and k+1-j>len(res):
                    res=s2[j:k+1]   #循环迭代
        print(res)
    except:
        break
全部评论

相关推荐

不知名bang:感觉三个项目可以融在一起,比如上层是用手写的epoll,然后到tcp聊天层,然后你写了一个后台监控(不过我也不懂c++,但是感觉写一个大项目比三个小项目要好)
我的求职进度条
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

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