[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
                
        

  

猜你喜欢

转载自www.cnblogs.com/lautsie/p/12242139.html