力扣刷题记录2021.2.23 宝石与石头(简单)

题目描述

给定字符串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%的用户
 
原文地址:https://www.cnblogs.com/spx88/p/14438067.html