给定字符串J 代表石头中宝石的类型,和字符串 S代表你拥有的石头。 S 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。
J 中的字母不重复,J 和 S中的所有字符都是字母。字母区分大小写,因此"a"和"A"是不同类型的石头。
示例 1:
输入: J = "aA", S = "aAAbbbb"
输出: 3
示例 2:
输入: J = "z", S = "ZZ"
输出: 0
注意:
S和J最多含有50个字母。-
J中的字符不重复。
class Solution {
public int numJewelsInStones(String J, String S) {
char[] j=J.toCharArray();
char[] s=S.toCharArray();
int count[]=new int ['z'-'A'+1];//创建一个数组记录每个字符出现的次数
for(char ch:s){
count[ch-'A']++;
}
int sum=0;
for(char ch:j){
sum+=count[ch-'A'];
}
return sum;
}
}
本文介绍了一种算法,用于计算给定的石头中宝石的数量。通过对比两个字符串J(宝石类型)和S(拥有的石头),算法能准确找出并计算出S中属于J的宝石数量。示例展示了输入为J=aA S=aAAbbbb时,输出为3;而当J=z S=ZZ时,输出为0。
256

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



