当前位置: 首页 > 后端技术 > Python

力扣-1408.数组中的字符串匹配数组中的字符串匹配【Python】

时间:2023-03-26 01:46:58 Python

LeetCode1408.数组中的字符串匹配数组中的字符串匹配【简单】【Python】【字符串】问题LeetCode给定一个字符串单词数组。返回单词中的所有字符串,这些字符串是任何顺序的另一个单词的子字符串。字符串words[i]是words[j]的子串,如果去掉words[j]左边和/或右边的一些字符就可以得到。例1:输入:words=["mass","as","hero","superhero"]输出:["as","hero"]解释:"as"是"mass"的子串,"hero"是"superhero"的子串。["hero","as"]是也是一个有效的答案。示例2:输入:words=["leetcode","et","code"]输出:["et","code"]解释:“et”,“code”是“leetcode”的子字符串".Example3:Input:words=["blue","green","bu"]Output:[]Constraints:1<=words.length<=1001<=words[i].length<=30words[i]只包含小写英文字母,保证words[i]是唯一的是一个单词,您可以按任意顺序返回作为其他单词子串的单词中的所有单词。如果可以删除words[j]最左边和/或最右边的字符得到word[i],那么字符串words[i]就是words[j]的子串。示例1:输入:words=["mass","as","hero","superhero"]输出:["as","hero"]解释:"as"是"mass","hero"的子串"是"superhero"的子串。["hero","as"]也是一个有效的答案。示例2:输入:words=["leetcode","et","code"]输出:["et","code"]解释:“et”和“code”都是“leetcode”的子字符串。示例3:输入:words=["blue","green","bu"]输出:[]提示:1<=words.length<=1001<=words[i].length<=30words[i]only包含小写英文字母。主题数据保证每个words[i]都是唯一的。意念弦暴,终于重归于好。时间复杂度:O(n^2)空间复杂度:O(n)Python3codefromtypingimportListimportcopyclass解决方案:defstringMatching(self,words:List[str])->List[str]:n=len(words)res=[]foriinrange(n):temp=copy.deepcopy(words)temp.remove(words[i])forjinrange(n-1):ifwords[i]intemp[j]:res.append(words[i])返回列表(set(res))GitHublinkPython