给定字符串J 代表石头中宝石的类型,和字符串 S代表你拥有的石头。 S 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。
J 中的字母不重复,J 和 S中的所有字符都是字母。字母区分大小写,因此"a"和"A"是不同类型的石头。

先把宝石全放进set中 然后遍历石头的每一个字符 如果set包含这个字符他就是宝石 count++
class Solution {
public int numJewelsInStones(String jewels, String stones) {
Set<Character> set = new HashSet<>();
for(int i = 0; i < jewels.length() ; i++){
set.add(jewels.charAt(i));
}
int count = 0;
for(int i = 0; i < stones.length() ; i++){
if(set.contains(stones.charAt(i))){
count++;
}
}
return count;
}
}
该博客介绍了一个Java方法,用于计算给定的石头字符串中包含了多少种指定的宝石类型。通过创建一个HashSet存储宝石类型,然后遍历石头字符串,检查每个字符是否在HashSet中,从而高效地统计出宝石数量。这种方法利用了HashSet的快速查找特性,提高了算法效率。
838

被折叠的 条评论
为什么被折叠?



