如何解决leetcode中宝石与石头的问题
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,这篇文章主要为大家展示了"如何解决leetcode中宝石与石头的问题",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"如何解决leetcode中宝石与石头的问
千家信息网最后更新 2025年12月03日如何解决leetcode中宝石与石头的问题
这篇文章主要为大家展示了"如何解决leetcode中宝石与石头的问题",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"如何解决leetcode中宝石与石头的问题"这篇文章吧。
题目链接
https://leetcode-cn.com/problems/jewels-and-stones/
题目描述
给定字符串 J 代表石头中宝石的类型,和字符串 S 代表你拥有的石头。 S 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。
J 中的字母不重复,J 和 S 中的所有字符都是字母。字母区分大小写,因此"a"和"A"是不同类型的石头。
示例 1:
输入: J = "aA", S = "aAAbbbb"
输出: 3
示例 2:
输入: J = "z", S = "ZZ"
输出: 0
注意:
S 和 J 最多含有50个字母。
J 中的字符不重复。
解题方案
思路
标签:字符串
首先对J进行遍历,将字符分别存到HashSet中,以便之后遍历S的时候查找
遍历S,并将每个字符与HashSet中的进行比对,如果存在,则结果ans++,遍历结束,返回ans
时间复杂度:O(m+n),m为J的长度,n为S的长度
代码
Java版本
class Solution {
public int numJewelsInStones(String J, String S) {
Set set = new HashSet<>();
for(int i = 0; i < J.length(); i++) {
set.add(J.charAt(i));
}
int ans = 0;
for(int i = 0; i < S.length(); i++) {
if(set.contains(S.charAt(i))){
ans++;
}
}
return ans;
}
}
JavaScript版本
/**
* @param {string} J
* @param {string} S
* @return {number}
*/
var numJewelsInStones = function(J, S) {
const set = new Set();
for(const s of J) {
set.add(s);
}
let ans = 0;
for(const s of S) {
if(set.has(s)){
ans++;
}
}
return ans;
};
画解

以上是"如何解决leetcode中宝石与石头的问题"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
石头
字符
宝石
字母
问题
代表
内容
字符串
篇文章
类型
版本
示例
长度
题目
学习
帮助
输入
输出
不同
复杂
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
计算机网络技术需要学web吗
我的世界服务器飞行挂
服务器证书安全存储
网络安全法的摘要
美柚软件开发
与网络安全有关的名词
成都天府新区软件开发
沅智投资20万台高端服务器土地
windows下软件开发c
临沂网络安全等级
好玩的mc小游戏服务器
广州引力科技网络技术有限公司
东财网络安全管理中心
服务器安全连接建立失败请检查
数据库中mul
饭圈网络安全漫画
武装突击三怎么进服务器
计算机网络技术高职的前景
i3 服务器系统3220
长春智能化网络技术咨询哪家好
游戏服务器维护中英文怎么说
新形势下网络安全
国际音乐手稿数据库
青海智慧医养软件开发公司
数据库的ora文件是什么
江苏综合软件开发哪家好
自己做邮箱服务器
数据库查询女学生的课程信息
守护网络安全手抄报文字
天津五八互联网科技