class Solution:
def findSubstring(self, s: str, words: List[str]) -> List[int]:
word_len=len(words[0])
word_num=len(words)
window=word_len*word_num
ans=[]
cnt={word:0 for word in words}
word_cnt=cnt.copy()
for word in words:
word_cnt[word]+=1
start=0
while start<len(s)-window+1:
tmp_cnt=cnt.copy()
for i in range(start,start+window,word_len):
tmp_word=s[i:i+word_len]
if tmp_word in tmp_cnt:
tmp_cnt[tmp_word]+=1
else:
break
if tmp_cnt==word_cnt:
ans.append(start)
start+=1
return ans
串联所有单词的子串
最新推荐文章于 2024-07-09 19:25:54 发布