题目

给你一个字符串数组 words ,数组中的每个字符串都可以看作是一个单词。请你按 任意 顺序返回 words 中是其他单词的子字符串的所有单词。
如果你可以删除 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 <= 100
1 <= words[i].length <= 30
words[i] 仅包含小写英文字母。
题目数据 保证 每个 words[i] 都是独一无二的。
来源:力扣(LeetCode)

解题思路

  首先我们需要明确,如果一个字符串是另外一个字符串的子集的话,这个字符串的长度一定是不超过他的父串的,所以第一步就是先按照字符串的长度进行排序,然后查看当前字符串是否是后续字符串的子集。

class Solution:def stringMatching(self, words: List[str]) -> List[str]:words.sort(key=lambda x:len(x))temp=[]for i in range(len(words)):for j in range(i+1,len(words)):if words[i] in words[j]:temp.append(words[i])breakreturn temp

LeetCode简单题之数组中的字符串匹配相关推荐

  1. LeetCode简单题之数组中第 K 个独一无二的字符串

    题目 独一无二的字符串 指的是在一个数组中只出现过 一次 的字符串. 给你一个字符串数组 arr 和一个整数 k ,请你返回 arr 中第 k 个 独一无二的字符串 .如果 少于 k 个独一无二的字符 ...

  2. LeetCode简单题之数组中两元素的最大乘积

    题目 给你一个整数数组 nums,请你选择数组的两个不同下标 i 和 j,使 (nums[i]-1)*(nums[j]-1) 取得最大值. 请你计算并返回该式的最大值. 示例 1: 输入:nums = ...

  3. leetcode:1408. 数组中的字符串匹配

    题目:1408. 数组中的字符串匹配 题目内容 给你一个字符串数组 words ,数组中的每个字符串都可以看作是一个单词.请你按 任意 顺序返回 words 中是其他单词的子字符串的所有单词. 如果你 ...

  4. LeetCode 5380. 数组中的字符串匹配

    5380. 数组中的字符串匹配 python 字符串长度排序 class Solution:def stringMatching(self, words: List[str]) -> List[ ...

  5. LeetCode 1408. 数组中的字符串匹配(暴力查找)

    1. 题目 给你一个字符串数组 words ,数组中的每个字符串都可以看作是一个单词.请你按 任意 顺序返回 words 中是其他单词的子字符串的所有单词. 如果你可以删除 words[j] 最左侧和 ...

  6. LeetCode简单题之数组序号转换

    题目 给你一个整数数组 arr ,请你将数组中的每个元素替换为它们排序后的序号. 序号代表了一个元素有多大.序号编号的规则如下: 序号从 1 开始编号. 一个元素越大,那么序号越大.如果两个元素相等, ...

  7. LeetCode简单题之数组的度

    题目 给定一个非空且只包含非负数的整数数组 nums,数组的 度 的定义是指数组里任一元素出现频数的最大值. 你的任务是在 nums 中找到与 nums 拥有相同大小的度的最短连续子数组,返回其长度. ...

  8. LeetCode简单题之数组元素积的符号

    题目 已知函数 signFunc(x) 将会根据 x 的正负返回特定值: 如果 x 是正数,返回 1 . 如果 x 是负数,返回 -1 . 如果 x 是等于 0 ,返回 0 . 给你一个整数数组 nu ...

  9. LeetCode简单题之检查是否所有字符出现次数相同

    题目 给你一个字符串 s ,如果 s 是一个 好 字符串,请你返回 true ,否则请返回 false . 如果 s 中出现过的 所有 字符的出现次数 相同 ,那么我们称字符串 s 是 好 字符串. ...

最新文章

  1. 拯救尴尬:鉴黄神器NSFW JS开源了!
  2. eclipse 无法解析导入 javax.servlet 的解决方法
  3. 'staticfiles' is not a registered tag library. Must be one of:
  4. 电脑的发展史_互联网发展史 硅谷传奇之 IBM
  5. 电子计算机哪几部分组成的,电子计算机由哪几部分构成?
  6. 编译hadoop源码遇到问题 及时解决
  7. java的OutOfMemoryError: PermGen space实战剖析
  8. 2016中国云计算技术大会精彩PPT干货分享
  9. 关于Mac系统 使用npm i xxx的时候 报错
  10. 黑金核心板32bitDDR3 MIG核UI接口仿真模型搭建
  11. 发布镜像【DockerHub或阿里云】
  12. OpenCV特征检测出现Unhandled exception at……Access violation reading location 0x00000000.
  13. 系统集成项目管理工程师复习方法:思维导图辅助记忆
  14. Windwos server 2019域控制器策略部分
  15. C语言-数组-消除类游戏
  16. FFplay文档解读-3-表达评估
  17. 根据 cadence 设计图学习硬件知识 day02 了解飞腾 X100芯片
  18. sparkmllib关联规则算法(FPGrowth,Apriori)
  19. 获取 本周本月本季度本年开始时间和结束时间
  20. synology服务器限制用户复制文件,百度网盘限制群晖NAS用户上传数据,免费时代结束了...

热门文章

  1. OpenFeign服务接口调用
  2. 发送快递:配置静态路由
  3. python符号求导
  4. sklearn数据处理_one_hot
  5. 矩阵乘以其矩阵转置求导-数学
  6. LeetCode简单题之“气球” 的最大数量
  7. LLVM一些语法规则
  8. PyTorch 自动微分
  9. 2021年大数据常用语言Scala(十九):基础语法学习 iterator迭代器
  10. Python的re模块 --- 正则表达式操作