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

LeetCode1408.数组中的字符串匹配(Python) 给你一个字符串数组 words ,数组中的每个字符串都可以看作是一个单词。请你按 任意 顺序返回 words 中是其他单词的子字符串的所有单词。 如果你可以删除 words[j] 最左侧和/或最右侧的若干字符得到 words[i] ,那么字符串 words[i] 就是 words[j] 的一个子字符串。 阅读详情

题目:1408. 数组中的字符串匹配

题目内容

给你一个字符串数组 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”]
输出:[]

解题思路 :

这里我们用两个循环去遍历,用stringbuilder去连接字符串

第一个循环将所有的字符加入到builder中

第二个循环去对比字符串,如果字符串是子字符串那么一定会出现两次,

所以判断首次出现的位置和第二次出现的位置不同,就代表他是子字符串

解题代码如下:

class Solution {

    public List<String> stringMatching(String[] words) {

        List<String> list = new ArrayList<>();

        if (words.length == 0) return list;

        StringBuilder builder = new StringBuilder();

        for (int i = 0; i < words.length; i++){

            String str = words[i];

            builder.append(str + ",");

        }



        for (int i = 0; i < words.length; i++){

            String str = words[i];

            if (builder.toString().indexOf(str) != builder.toString().lastIndexOf(str)) list.add(str);

        }

        return list;

    }

}

小总结:

锻炼算法能力是很需要坚持的

从最初的什么都不会到现在简单题轻松解答挑战中等题,时间会替你记下全部的努力

计算机网络实验——入侵检测系统实验 在图1所示的网络结构中,此方案的具体实施:在路由器Router1的接口1出方向配置入侵检测策略,在收到ICMP ECHO请求包时,丢弃并同步向日志服务器报告警告,此时,终端PC2和PC3无法对终端PC0和PC1执行ping操作,并且日志服务器将记录相应的警告信息;在实验一的基础上,添加扩展分组过滤器,指定需要进行检测的信息流的类别,将扩展分组和对应的入侵检测规则进行绑定,使得只对特定的信息流进行入侵检测。加载指定类别的特征库,这里的指定类别是 ios_ips 类别中的 basic 子类别。 阅读详情

相关推荐

STM32 Boot程序实战:从启动流程到安全跳转机制解析

本文深入解析STM32 Boot程序的核心作用与安全跳转机制,涵盖启动流程、内存管理、中断向量表重定向及固件验证等关键环节。通过实战案例分享如何实现可靠的固件升级与故障回退策略,避免设备变砖风险,提升嵌入式系统稳定性。

pluto的博客 777

LeetCode 1408. 数组中的字符串匹配

找出子字符串

weixin_48127034的博客 197

ExoPlayer硬解码实战:如何绕过系统默认软解码提升播放性能(附完整代码)

本文深入剖析了ExoPlayer默认解码器选择机制的不确定性,并提供了通过自定义MediaCodecSelector强制启用硬解码的完整实战方案。该方案能有效解决因软解码导致的播放卡顿、黑屏花屏及高功耗问题,显著提升Android应用在各种设备上的视频播放性能与稳定性。

weixin_29295541的博客 456

【数据结构】数组和字符串(十四):字符串匹配1:朴素的模式匹配算法(StringMatching)

本文介绍了字符串匹配:朴素的模式匹配算法(StringMatching)

天地玄黄 魑魅魍魉 风花雪月 商角徵羽 1610

医药领域知识图谱快速及医药问答项目(项目全过程)

该项目是中科院软件所刘焕勇老师在github上的开源项目,基于知识图谱的医药领域问答项目 Github项目地址:mirrors / liuhuanyong / qasystemonmedicalkg · GitCode 一、项目环境搭建 该部分要十分注意,由于版本升级的问题,一些用法及格式已经不兼容了。 python3.8 下载地址:Python Release Python 3.8.10 | Python.orght...

qq_52062182的博客 9914

保姆级教程:在RK3576上配置USB网卡从零到外网访问(附udev规则详解)

本文提供了在RK3576开发板上配置USB网卡的完整教程,涵盖从内核驱动、udev规则到网络路由的全流程。重点讲解了如何利用USB Gadget功能实现高速网络连接,并构建稳定的算力集群,确保多设备间通信及外网访问。

grass的博客 454

1408. 数组中的字符串匹配

代码】1408. 数组中的字符串匹配。

qq_42174306的博客 315

统计信号处理基础 习题解答1-1

1-1:在雷达习题中,双程延时时间的估计量具有PDF τ0~Nτ0,στ02,其中τ0是真值。假如要估计距离请提出一种估计量R,并求它的PDF。然后,确定标准偏差στ0,使得距离估计值的99%在真值的100m以内,对电磁波传播速度取c=3×108m/s。 解答: 问题1: 由于电磁波传播速度c,信号可观察的双程传播延时τ0和双程传播距离τ0满足关系: R=cτ02 因此可采用如下估计量: R=cτ02 问题2: 由于τ0满足正态分布,且: Eτ0=τ0 varτ0=στ02 那么: E

weixin_43270276的博客 2805

图解LeetCode——1408. 数组中的字符串匹配(难度:简单)

首先,我们获取数组中的第一个字符串“leetcoder”,让它与其他字符串作比较,来判断“leetcoder”是否是对方的子串,那么遍历完其他字符串之后,发现,都不满足成为对方子串的条件,那么本次循环结束。在第二个解题思路中,依然是采用暴力破解的方式,但是与第一种不同的点是,从数组中第一个字符串开始,每次获取一个字符串,然后与其他字符串进行对比(即:除了自己),那么只要发现这个字符串是对方的子串了,那么就终止遍历,即可将这个子串加入到。【输入】words = ["blue","green","bu"]...

爪哇缪斯的博客 489

Word公式批量转MathType终极指南:解决omml2mml.xsl缺失与格式调整难题

本文提供Word公式批量转MathType的终极解决方案,重点解决常见的omml2mml.xsl文件缺失问题,并详细讲解批量转换与格式调整技巧。通过补全文件路径、分批次转换及样式预设等方法,大幅提升学术论文公式编辑效率,适用于Office 2016及以上版本。

weixin_28419039的博客 1348

风电功率预测项目技术白皮书:短期、超短期、中长期全尺度算法详解与工程落地

聚焦风电功率预测的时间尺度与算法:短期(0~72h)以XGBoost/LightGBM/CatBoost及深度学习为主,超短期(0~4h)采用ARMA+LSTM,中长期用LightGBM等,并涵盖概率预测、多气象源融合、AI大模型+物理模型混合策略、极端天气应对及工程运维要点。

算法工程师 321

【字符串】数组中的字符串匹配

这道题我没有做字符串是否包含另外一个字符串的函数,核心关注遍历操作。字符串是否包含另外一个字符串后续整理算法,再提供出来。如果有好的方案,欢迎评论。

weiliuhong1的专栏 1407

Vue - 列表拖曳排序 / 鼠标拖动改变顺序排列高效简洁组件(支持PC端与移动端触屏拖动,也可在滚动条内排序自动滚动,流畅丝滑无 BUG)

Vue-高效简洁列表拖曳排序/鼠标拖动改变顺序排列组件支持PC端与移动端触屏拖动,也可在滚动条内排序自动滚动,流畅丝滑无BUG列表拖曳排序插件vuedraggable拉动拽动拖动顺序改变排序js,vue.js,nuxt.js列表如何实现鼠标拖曳改变顺序排列支持滚动条内复杂数据对象带拖动效果动画排序完毕自动排列数组位置克隆Vue.Draggable官方文档教程SortableJS与vuedraggable列表拖动排序Vue拖拽组件库vuedraggable的安装与使用用户用鼠标拖动排序功能源码最好

🏆 前端领域优质创作者 4847

#力扣LeetCode1408. 数组中的字符串匹配 @FDDLC

题目描述: 1408. 数组中的字符串匹配 - 力扣(LeetCode) (leetcode-cn.com) 自测用例: ["mass","as","hero","superhero"] ["leetcode","et","code"] ["blue","green","bu"] ["abc","ab","a"] Java代码: class Solution { public List<String> stringMatching(String[] a) {

LiuXingchang的博客 472

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

LeetCode | 1408. String Matching in an Array数组中的字符串匹配【Python】

LeetCode 1408. String Matching in an Array数组中的字符串匹配【Easy】【Python】【字符串】

Wonz 1131

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

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

这个方法遍历所有字符串对,通过find函数判断其中较短的字符串是否是较长字符串的子串,收集所有满足条件的较短字符串,去重后返回。,来确定它是否是其他字符串的子串。因为自身会出现一次,若额外出现一次则必是其他字符串的子串。将所有字符串拼接成一个大字符串,通过判断某个字符串在拼接后的字符串中是否出现。来判断一个字符串是否是其他字符串的子串。这个代码的做法非常巧妙,核心是通过。

ikkkkkkkl的博客 325

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

LeetCode-1408-数组中的字符串匹配

LeetCode-1408-数组中的字符串匹配

weixin_44939170的博客 130

python-leetcode-1408. 数组中的字符串匹配

可以使用 Python 来解决这个问题。,检查它是否是。:对于每个单词,遍历数组中的所有其他单词,检查它是否是对方的子串。,防止重复的结果。

Lucy_wzw的博客 276

LeetCode 1408. 数组中的字符串匹配 (暴力枚举)

【代码】LeetCode 1408. 数组中的字符串匹配 (暴力枚举)

记录一些刷过的题并分享学习心得 476

数据结构与算法之LeetCode- 1408. 数组中的字符串匹配

1408. 数组中的字符串匹配 - 力扣(LeetCode) - 按照题目要求,想到排序,只有长的才能包含短的 - 因此就做条件判断

Three_ST的博客 920

【Python】【难度:简单】Leetcode 1408. 数组中的字符串匹配

给你一个字符串数组 words ,数组中的每个字符串都可以看作是一个单词。请你按 任意 顺序返回 words 中是其他单词的子字符串的所有单词。 如果你可以删除 words[j]最左侧和/或最右侧的若干字符得到 word[i] ,那么字符串 words[i] 就是 words[j] 的一个子字符串。 示例 1: 输入:words = ["mass","as","hero","supe...

thomashhs12的博客 513

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

【题目】1408. 数组中的字符串匹配 给你一个字符串数组 words ,数组中的每个字符串都可以看作是一个单词。请你按 任意 顺序返回 words 中是其他单词的子字符串的所有单词。 如果你可以删除 words[j] 最左侧和/或最右侧的若干字符得到 word[i] ,那么字符串 words[i] 就是 words[j] 的一个子字符串。 示例 1: 输入:words = ["mass","as","hero","superhero"] 输出:["as","hero"] 解释:"as" 是 "mass"

Sophia_fez的博客 602

力扣 1408. 数组中的字符串匹配

解释:“as” 是 “mass” 的子字符串,“hero” 是 “superhero” 的子字符串。输入:words = [“mass”,“as”,“hero”,“superhero”]解释:“et” 和 “code” 都是 “leetcode” 的子字符串。输入:words = [“leetcode”,“et”,“code”]输入:words = [“blue”,“green”,“bu”][“hero”,“as”] 也是有效的答案。输出:[“as”,“hero”]输出:[“et”,“code”]...

(ง •_•)ง没有困难的工作,只有勇敢的狗狗 206

Leetcode-1408 数组中的字符串匹配

Leetcode-1408数组中的字符串匹配 暴力

weixin_44584702的博客 1446

Leetcode刷题 - Leetcode1408 - 数组中的字符串匹配

Leetcode刷题 - Leetcode1408 - 数组中的字符串匹配 题目: 给你一个字符串数组 words ,数组中的每个字符串都可以看作是一个单词。请你按 任意 顺序返回 words 中是其他单词的子字符串的所有单词。 如果你可以删除 words[j] 最左侧和/或最右侧的若干字符得到 word[i] ,那么字符串 words[i] 就是 words[j] 的一个子字符串。

统计小白er & paul_work 189
上一篇: Java8新特性:函数式接口,方法与构造器引用
下一篇: leetcode:题目 :二分查找
冷环渊
博客等级 码龄7年 1130粉丝 176原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冷环渊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值