一开始想不出来,后来看了题解。
就是先重复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
[leetcode]Repeated String Match
原文:https://www.cnblogs.com/lautsie/p/12242139.html