LeetCode 0686. Repeated String Match Solution in Java, C++, Python & More | Explanation + Code

CoderIndeed
0
0686. Repeated String Match

Description

Given two strings a and b, return the minimum number of times you should repeat string a so that string b is a substring of it. If it is impossible for b​​​​​​ to be a substring of a after repeating it, return -1.

Notice: string "abc" repeated 0 times is "", repeated 1 time is "abc" and repeated 2 times is "abcabc".

 

Example 1:

Input: a = "abcd", b = "cdabcdab"
Output: 3
Explanation: We return 3 because by repeating a three times "abcdabcdabcd", b is a substring of it.

Example 2:

Input: a = "a", b = "aa"
Output: 2

 

Constraints:

  • 1 <= a.length, b.length <= 104
  • a and b consist of lowercase English letters.

Solutions

Solution 1

PythonJavaC++GoTypeScript
class Solution: def repeatedStringMatch(self, a: str, b: str) -> int: m, n = len(a), len(b) ans = ceil(n / m) t = [a] * ans for _ in range(3): if b in ''.join(t): return ans ans += 1 t.append(a) return -1(code-box)

Post a Comment

0Comments

Post a Comment (0)

#buttons=(Accept !) #days=(20)

Our website uses cookies to enhance your experience. Check Now
Accept !