题目
给你一个字符串 jewels 代表石头中宝石的类型,另有一个字符串 stones 代表你拥有的石头。 stones 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。
字母区分大小写,因此 "a" 和 "A" 是不同类型的石头。
给你一个字符串 jewels 代表石头中宝石的类型,另有一个字符串 stones 代表你拥有的石头。 stones 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。
字母区分大小写,因此 "a" 和 "A" 是不同类型的石头。
示例 1:
输入: jewels = "aA", stones = "aAAbbbb"
输出: 3
示例 2:
输入: jewels = "z", stones = "ZZ"
输出: 0
提示:
1 <= jewels.length, stones.length <= 50jewels和stones仅由英文字母组成jewels中的所有字符都是 唯一的
解析
利用Set不存在重复元素的特性,把jewels中的每一个字符添加到jewelSet, 声明count计数器变量,遍历stones发现如果jewelSet存在stone, 则计数器count加1, 最终返回count即可
参考代码
/**
* @param {string} jewels
* @param {string} stones
* @return {number}
*/
var numJewelsInStones = function(jewels, stones) {
const jewelSet = new Set(jewels);
let count = 0;
for (let stone of stones) {
if (jewelSet.has(stone)) {
count++;
}
}
return count;
};