题目
给你一个字符串 jewels 代表石头中宝石的类型,另有一个字符串 stones 代表你拥有的石头。 stones 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。
字母区分大小写,因此 “a” 和 “A” 是不同类型的石头。
示例
输入:jewels = “aA”, stones = “aAAbbbb”
输出:3
输入:jewels = “z”, stones = “ZZ”
输出:0
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/jewels-and-stones
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
方法1:哈希表
Java实现
class Solution {
public int numJewelsInStones(String jewels, String stones) {
Map<Character, Integer> map = new HashMap<>();
for (char c : stones.toCharArray()) {
map.put(c, map.getOrDefault(c, 0) + 1);
}
int sum = 0;
for (char c : jewels.toCharArray()) {
if (map.containsKey(c)) {
sum += map.get(c);
}
}
return sum;
}
}