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

LeetCode 2942.查找包含给定字符的单词:使用库函数完成

【LetMeFly】2942.查找包含给定字符的单词:使用库函数完成

力扣题目链接:https://leetcode.cn/problems/find-words-containing-character/

给你一个下标从 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 。

示例 3:

输入:words = ["abc","bcd","aaaa","cbc"], x = "z"
输出:[]
解释:"z" 没有在任何单词中出现。所以我们返回空数组。

 

提示:

  • 1 <= words.length <= 50
  • 1 <= words[i].length <= 50
  • x 是一个小写英文字母。
  • words[i] 只包含小写英文字母。

解题方法:模拟

遍历字符串数组中的每个字符串,如果字符串中包含字符x,则将字符串对应下标添加到答案数组中。

  • 时间复杂度 O ( ∑ ) O(\sum) O(),其中 ∑ \sum 是字符数之和
  • 空间复杂度 O ( 1 ) O(1) O(1),力扣函数返回值不计入空间复杂度

AC代码

C++
/** @Author: LetMeFly* @Date: 2025-05-24 21:30:36* @LastEditors: LetMeFly.xyz* @LastEditTime: 2025-05-24 21:34:02*/
class Solution {
public:vector<int> findWordsContaining(vector<string>& words, char x) {vector<int> ans;for (int i = 0; i < words.size(); i++) {if (words[i].find(x) != string::npos) {ans.push_back(i);}}return ans;}
};
Python
'''
Author: LetMeFly
Date: 2025-05-24 21:30:36
LastEditors: LetMeFly.xyz
LastEditTime: 2025-05-24 21:37:05
'''
from typing import Listclass Solution:def findWordsContaining(self, words: List[str], x: str) -> List[int]:return [i for i in range(len(words)) if x in words[i]]
Java
/** @Author: LetMeFly* @Date: 2025-05-24 21:30:36* @LastEditors: LetMeFly.xyz* @LastEditTime: 2025-05-24 21:38:47*/
import java.util.List;
import java.util.ArrayList;class Solution {public List<Integer> findWordsContaining(String[] words, char x) {List<Integer> ans = new ArrayList<>();for (int i = 0; i < words.length; i++) {if (words[i].indexOf(x) >= 0) {ans.add(i);}}return ans;}
}
Go
/** @Author: LetMeFly* @Date: 2025-05-24 21:30:36* @LastEditors: LetMeFly.xyz* @LastEditTime: 2025-05-24 21:40:52*/
package mainimport "strings"func findWordsContaining(words []string, x byte) (ans []int) {for i, word := range words {if strings.IndexByte(word, x) >= 0 {ans = append(ans, i)}}return
}

同步发文于CSDN和我的个人博客,原创不易,转载经作者同意后请附上原文链接哦~

千篇源码题解已开源

http://www.lryc.cn/news/2385374.html

相关文章:

  • 【mediasoup】MS_DEBUG_DEV 等日志形式转PLOG输出
  • 打卡第27天:函数的定义与参数
  • python训练营day34
  • 人工智能在医疗影像诊断上的最新成果:更精准地识别疾病
  • 塔能节能平板灯:点亮苏州某零售工厂节能之路
  • 3DMAX插件UV工具UV Tools命令参数详解
  • Docker 与微服务架构:从单体应用到容器化微服务的迁移实践
  • 《岁月深处的童真》
  • 文件夹图像批处理教程
  • RL电路的响应
  • 30-消息队列
  • 跨域解决方案之JSONP
  • 【AI测试革命】第七期:AI性能测试的深度实践——从智能建模到自动化调优的全链路升级
  • Thinkphp6使用token+Validate验证防止表单重复提交
  • AppAgentx 开源AI手机操控使用分享
  • Axure设计之带分页的穿梭框原型
  • 嵌入式硬件篇---陀螺仪|PID
  • 电机控制储备知识学习(五) 三项直流无刷电机(BLDC)学习(四)
  • Java—— 网络爬虫
  • Baklib内容中台的主要构成是什么?
  • 深度解析 Java 中介者模式:重构复杂交互场景的优雅方案
  • 家用和类似用途电器的安全 第1部分:通用要求 与2005版差异(7)
  • HTTP Digest 认证:原理剖析与服务端实现详解
  • untiy实现汽车漫游
  • PID项目---硬件设计
  • Pluto实验报告——基于FM的音频信号传输并解调恢复
  • 【Redis】AOF日志
  • Leetcode 2792. 计算足够大的节点数
  • 《关于浔川社团退出DevPress社区及内容撤回的声明》
  • Windows逆向工程提升之IMAGE_RESOURCE_DIRECTORY