当前位置: 首页 > news >正文

2942. 查找包含给定字符的单词

题目链接

2942. 查找包含给定字符的单词 - 力扣(LeetCode)

题目描述

给你一个下标从 0 开始的字符串数组words和一个字符x

请你返回一个 下标数组 ,表示下标在数组中对应的单词包含字符x

注意 ,返回的数组可以是 任意 顺序。

题目示例

示例 1 :

输入:words = ["leet","code"], x = "e" 输出:[0,1] 解释:"e" 在两个单词中都出现了:"leet" 和 "code" 。所以我们返回下标 0 和 1 。

示例 2 :

输入:words = ["abc","bcd","aaaa","cbc"], x = "a" 输出:[0,2] 解释:"a" 在 "abc" 和 "aaaa" 中出现了,所以我们返回下标 0 和 2 。

解题思路

  1. 问题描述:给定一个字符串数组words和一个字符x,找出所有包含字符x的单词的索引,并将这些索引存入一个列表返回。
  2. 核心思路
    • 遍历数组:逐个检查数组中的每个单词是否包含目标字符x
    • 检查字符存在性:使用String.indexOf(char)方法判断字符x是否存在于当前单词中。如果返回值 ≥ 0,说明字符存在。
    • 记录索引:如果字符存在,则将当前单词的索引添加到结果列表中。
  3. 关键点
    • String.indexOf(char)方法是关键,它直接判断字符是否存在于字符串中。
    • 结果列表动态增长,使用ArrayList可以高效地添加元素。

题解代码

classSolution{publicList<Integer>findWordsContaining(String[]words,charx){// 创建一个ArrayList来存储结果,保存包含字符x的单词的索引List<Integer>ans=newArrayList<>();// 遍历words数组中的每一个单词for(inti=0;i<words.length;i++){// 检查当前单词words[i]是否包含字符x// indexOf方法返回字符x在单词中的位置,如果不存在则返回-1if(words[i].indexOf(x)>=0){// 如果包含字符x,则将当前单词的索引i添加到结果列表中ans.add(i);}}// 返回结果列表returnans;}}

复杂度分析

  1. 时间复杂度:O(n * m)
    • nwords数组的长度,m是数组中单词的平均长度。
    • 需要遍历每个单词(O(n)),对于每个单词,indexOf方法需要检查每个字符(O(m))。
    • 因此,总时间复杂度为 O(n * m)。
  2. 空间复杂度:O(k)
    • k是结果列表ans中存储的索引数量(即包含字符x的单词数量)。
    • 最坏情况下,所有单词都包含x,此时k = n,空间复杂度为 O(n)。
    • 一般情况下,空间复杂度取决于匹配的单词数量。
http://www.jsqmd.com/news/755435/

相关文章:

  • 新手入门:通过快马生成可交互代码,轻松理解exfat与ntfs核心差异
  • SD3012 磁编码器芯片新手快速上手指南
  • CrewAI的“万星”神话:是资本造假,还是真的好用?
  • Java协议解析核心源码深度剖析(Netty+Spring Boot双栈实测):JDK底层ByteBuf与ProtocolBuffer序列化链路全曝光
  • 别再只懂TMR了!聊聊Xilinx FPGA在太空里抗辐射的几种“保命”招数
  • L9110S电机驱动模块的4种电平组合全解析:别再让你的小车原地打转了
  • 新手入门Web开发:借助快马平台AI生成你的第一个免费美剧网站
  • 普通车床变速箱的三维虚拟设计及运动仿真
  • 5大核心特性深度解析:Bebas Neue字体的技术革新与实战价值
  • 为什么92%的医疗PHP系统仍在用MD5做脱敏?,一文讲透国密SM4+动态盐值的合规替代方案
  • nodejs实战:基于快马平台快速构建可部署的实时聊天室应用系统
  • 打造安全的礼物天堂:专业安全策略揭秘
  • 免费音频转换器fre:ac:终极跨平台音频处理解决方案
  • 保姆级教程:用QT Creator和C++给你的Arduino/STM32做个带串口控制的LED上位机
  • Linux服务器路径部署建议
  • 提升iic调试效率:用快马ai生成总线监控与从机模拟工具
  • 华为手机抓蓝牙包踩坑记:USB连接模式不调对,adb pull 永远拿不到btsnoop_hci.log
  • NewsMCP:基于MCP协议与AI聚类的实时新闻服务器,赋能AI智能体
  • IQ-Learn 在 RTX 3090 服务器上的环境配置与踩坑记录
  • 告别信号模糊:手把手教你理解PCIe 3.0的动态均衡(含FIR滤波器配置)
  • 避坑指南:在MATLAB里跑YOLOv5目标检测,从模型转换到界面集成的5个常见问题
  • 开源工具 compromising-position:自动化网络暴露面测绘与风险识别实战指南
  • 解析钻石依赖问题与并发版本控制技术
  • CoPaw-ACTS基准:多智能体协作算法的评估利器与实践指南
  • 借助审计日志功能追踪与管理API Key的使用情况
  • Windows 系统
  • Model Context Protocol (MCP) 深度解析:构建 AI Agent 的标准化“数据插槽”
  • 在统信UOS和麒麟V10上,用Qt和VLC-Qt打造你的专属媒体播放器(ARM/X86双架构实测)
  • ACME及ACME账号是什么,作用和使用场景
  • 从向量数据库到AI应用开发:Relevance AI全栈平台实战解析