1
# Runtime: 1522 ms (Top 17.46%) | Memory: 14.2 MB (Top 76.15%)
2
class Solution:
3
def findSubstring(self, s: str, words: List[str]) -> List[int]:
4
req = {}
5
for i in words:
6
req[i] = 1 + req.get(i, 0)
7
l = 0
8
r = len(words) * len(words[0])
9
ans = []
10

11
while r < len(s) + 1:
12
i = 0
13
curr = {}
14
left, right = l, l + len(words[0])
15
while right < l + len(words) * len(words[0]) + 1:
16
x = s[left:right]
17
# print(x)
18
if x in req.keys():
19
curr[x] = 1 + curr.get(x, 0)
20
left = right
21
right = right + len(words[0])
22
if req == curr:
23
ans.append(l)
24
l = l + 1
25
r = r + 1
26
return ans

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0