1086. 重复字符串匹配

1086. 重复字符串匹配

中文English

给定两个字符串A和B,找到A必须重复的最小次数,以使得B是它的子字符串。 如果没有这样的解决方案,返回-1。

样例

样例1:

输入 : A = "a"     B = "b".
输出 : -1

样例 2:

输入 : A = "abcd"     B = "cdabcdab".
输出 :3
解释:因为将A重复3次以后 (“abcdabcdabcd”), B将成为其的一个子串 ; 而如果A只重复两次 ("abcdabcd"),B并非其的一个子串.

注意事项

A和B的长度在1到10000之间。

输入测试数据 (每行一个参数)如何理解测试数据?
class Solution:
    """
    @param A: a string
    @param B: a string
    @return: return an integer
    """
    def repeatedStringMatch(self,A,B):
        counts = len(B)//len(A)+2
        res = A
        count = 1
        for index in range(counts):
            if B in res:
                return count
            res += A
            count += 1
        return -1

 

posted @ 2020-04-06 23:14  风不再来  阅读(154)  评论(0编辑  收藏  举报