有没有一样喜欢看示例的,,看题目就以为很难明。大抵就是words要进行排列组合,返回s中全部包含这个排列组合的首标。
顺完逻辑蛮好懂的,应该不算困难题,只是不知道用什么模块实现。
- class Solution:
- def findSubstring(self, s: str, words: List[str]) -> List[int]:
- if not s or not words: return []
- one_word = len(words[0])
- all_len = one_word * len(words)
- n = len(s)
- words = Counter(words)
- res = []
- for i in range(0, n-all_len+1):
- tmp = s[i:i+all_len]
- c_tmp = []
- for j in range(0, all_len, one_word):
- c_tmp.append(tmp[j:j+one_word])
- if Counter(c_tmp) == words:
- res.append(i)
- return res
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |