[leetcode]Repeated String Match

一开始想不出来,后来看了题解。

就是先重复A,知道length大于等于B;如果还不行,那么再加一次A,试一下,就足以。否则和前者是第一个长度大于等于B的假设矛盾。

class Solution:
    def repeatedStringMatch(self, A: str, B: str) -> int:
        cnt = len(B) // len(A)
        ss = A * cnt
        while (len(ss) < len(B)):
            ss += A
            cnt += 1
        if B in ss:
            return cnt
        ss += A
        cnt += 1
        if B in ss:
            return cnt
        return -1
                
        

  

posted @ 2020-01-30 09:30  阿牧遥  阅读(146)  评论(0编辑  收藏  举报