题解 | #公共子串计算#

公共子串计算

http://www.nowcoder.com/practice/98dc82c094e043ccb7e0570e5342dd1b

方法1:python

while True:
    try:
        a = input()
        b = input()
        str_max = 0

        for i in range(len(a)):
            for ii in range(len(b)):
                num = 0
                if a[i] == b[ii]:
                    for n in range(min(len(a) - i, len(b) - ii)):
                        if a[i + n] == b[ii + n]:
                            num += 1
                        else:
                            break
                    if str_max < num:
                        str_max = num

        print(str_max)
    except:
        break

方法2:python
搬砖

while True:
    try:
        a = input()
        b = input()
        if len(a) > len(b):
            a,b = b,a
        max_length = 0
        i = 0
        while i + max_length < len(a):
            while i + max_length < len(a) and a[i:i + max_length + 1] in b:
                max_length += 1
            i += 1
        print(max_length)
    except:
        break

方法3:python
板砖

while True:
    try:
        a = input().upper()
        b = input().upper()
        n = 0
        for i in range(len(a)):
            if a[i-n:i+1] in b:
                n += 1
        print(n)
    except:
        break
全部评论
思路是啥?看着不是很明白
点赞 回复 分享
发布于 2021-09-24 22:20

相关推荐

03-16 11:07
南开大学 Java
牛马人的牛马人生:快手卡实习经历的
点赞 评论 收藏
分享
评论
1
2
分享

创作者周榜

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