题目描述
给定字符串J 代表石头中宝石的类型,和字符串 S代表你拥有的石头。 S 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。
J 中的字母不重复,J 和 S中的所有字符都是字母。字母区分大小写,因此"a"和"A"是不同类型的石头。
示例 1:
输入: J = "aA", S = "aAAbbbb"
输出: 3
示例 2:
输入: J = "z", S = "ZZ"
输出: 0
思路分析: 直接暴力解法,双重for循环,外层循环遍历stones,内层循环遍历jewels,如果存在相等的,然后result++
具体代码
class Solution {
public int numJewelsInStones(String jewels, String stones) {
//统计拥有宝石的数量
int result = 0;
int slength = stones.length();
int jlength =jewels.length();
//直接双重for循环暴力解法
for(int i=0; i<slength;i++){
char stone = stones.charAt(i);
for(int j=0;j<jlength;j++){
char jewel = jewels.charAt(j);
if(stone == jewel){
result++;
}
}
}
return result;
}
}
执行用时:1 ms, 在所有 Java 提交中击败了98.20%的用户
内存消耗:36.6 MB, 在所有 Java 提交中击败了87.34%的用户