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

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和我的个人博客,原创不易,转载经作者同意后请附上原文链接哦~

千篇源码题解已开源

相关文章:

  • vs2022 Qt Visual Studio Tools插件设置
  • 人工智能100问☞第31问:如何评估一个AI模型的性能?
  • IPC进程间通信详解
  • 索引下探(Index Condition Pushdown,简称ICP)
  • MCP与AI模型的多语言支持:让人工智能更懂世界
  • 数据库6——综合实验-水果商店进阶一
  • Axure酒店管理系统原型
  • Python入门手册:Python中的数据结构类型
  • Gartner《Optimize GenAI Strategy for 4 Key ConsumerMindsets》学习心得
  • 力扣:《螺旋矩阵》系列题目
  • 豪越科技:消防应急装备智能仓储管理新变革
  • 深入理解设计模式:工厂模式、单例模式
  • 解析 Flask 上下文机制:请求上下文、应用上下文
  • HTTP协议初认识、速了解
  • 机器学习中的多GPU训练模式
  • WebXR 虚拟现实开发
  • Python爬虫(37)Python爬虫深度实践:Splash渲染引擎与BrowserMob Proxy网络监控协同作战
  • 使用 Go 语言实现完整且轻量级高性能的 MQTT Broker
  • vue3使用七牛云上传文件
  • MySQL主从同步原理
  • 做网站的为什么不给域名和密码/免费网站seo优化
  • 大学校园网站建设的/企业培训课程名称大全
  • 仿业务网站源码/sem培训学校
  • 镇江网站推广/如何注册一个自己的网站
  • 网站flash音乐播放器/网络优化工作应该怎么做
  • 网站建设职业怎么样/南宁百度关键词优化