|
@@ -0,0 +1,13 @@
|
|
|
+func repeatedStringMatch(A string, B string) int {
|
|
|
+ m, n, l := len(A), len(B), len(A)
|
|
|
+ var sb strings.Builder
|
|
|
+ for cnt := 1; ; cnt, l = cnt+1, l+m {
|
|
|
+ sb.WriteString(A)
|
|
|
+ if strings.Index(sb.String(), B) != -1 {
|
|
|
+ return cnt
|
|
|
+ } else if n + m < l { // If l > n + m, then each repeat of A is the same for B.
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return -1
|
|
|
+}
|