首页 > 其他 > 详细

30串联所有单词的子串

时间:2020-07-13 20:48:42      阅读:53      评论:0      收藏:0      [点我收藏+]
from typing import List
class Solution:
def findSubstring(self, s: str, words: List[str]) -> List[int]:
# 导入计数类
from collections import Counter
# 如果s和words其中一个为空,就返回空列表
if not s or not words:return []
res = []
one_word = len(words[0])
all_word = len(words) * one_word
words = Counter(words)
length = len(s)
for i in range(0,length - all_word + 1):
tmp = s[i:i + all_word]
now_tmp = []
for j in range(0,all_word,one_word):
now_tmp.append(tmp[j:j + one_word])
if Counter(now_tmp) == words:
res.append(i)
return res

A = Solution()
print(A.findSubstring("barfoothefoobarman",["foo","bar"]))
print(A.findSubstring("ababaab",["ab","ba","ba"]))

30串联所有单词的子串

原文:https://www.cnblogs.com/cong12586/p/13295137.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!