有没有一样喜欢看示例的,,看题目就觉得很难懂。大致就是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