如何解决leetcode中宝石与石头的问题
发表于:2025-01-26 作者:千家信息网编辑
千家信息网最后更新 2025年01月26日,这篇文章主要为大家展示了"如何解决leetcode中宝石与石头的问题",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"如何解决leetcode中宝石与石头的问
千家信息网最后更新 2025年01月26日如何解决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安全错误
数据库的锁怎样保障安全
探索互联网科技
东迅网络技术有限公司诈骗
中国x86服务器产能问题
数据库全局扫描
成都诗德克源软件开发工作室
网络安全防护的视频
总结主流数据库连接技术
数据库审计安全
误造服务器进不去
迎峰度夏网络安全保障
怎么切换wifi服务器
数据库怎么加上唯一标识符
广东工业大学 网络安全硕士
安徽省安全接入服务器地址
java序列化存在数据库中
12部委网络安全审查办法
南陵app软件开发公司
各种网络安全基础知识
数据库在哪里查看数据名
校园网络安全制度
未来之翼加速后显示找不到服务器
机载嵌入式软件开发
注重职工网络安全教育
软件开发零基础学
软件开发职业定位
果洛软件开发商家
网络安全系列课程二网络安全法
陕西项目软件开发商
不断发展的网络技术英文
勤哲服务器设备管理系统