lintcode_79最长公共字串

给出两个字符串,找到最长公共子串,并返回其长度。

样例

给出A=“ABCD”,B=“CBCE”,返回 2

 

class Solution:
    """
    @param: A: A string
    @param: B: A string
    @return: the length of the longest common substring.
    """
    def longestCommonSubstring(self, A, B):
        # write your code here
        if not A:
            return 0
        result = -1
        for i in range(len(B)):
            for j in range(i,len(B)+1):
                result = max(j-i,result) if A.find(B[i:j])!=-1 else result
        return result

利用find方法滑窗式搜索,注意B[i:j] 实际为左闭右开区间,因此B的范围为range[i,len(B)+1]

posted @ 2017-12-09 15:42  Tom_NCU  阅读(102)  评论(0编辑  收藏  举报